diff --git a/.gitattributes b/.gitattributes index 314f2a9c94..6761cfbc18 100644 --- a/.gitattributes +++ b/.gitattributes @@ -43,3 +43,6 @@ research/e8-complex-gauge-kernel/** -text -whitespace research/e8-lemma-a-lean/** -text -whitespace research/e8-lemma-g-lean/** -text -whitespace research/community-formal-20261012-audit/** -text -whitespace + +research/subspace16-r420/** -text +research/subspace16-r420-validation/** -text diff --git a/.github/workflows/subspace16-r420.yml b/.github/workflows/subspace16-r420.yml new file mode 100644 index 0000000000..60fee455cc --- /dev/null +++ b/.github/workflows/subspace16-r420.yml @@ -0,0 +1,37 @@ +name: Subspace16 R420 both suppliers +on: + push: + paths: + - 'research/subspace16-r420/**' + - '.github/workflows/subspace16-r420.yml' + pull_request: + paths: + - 'research/subspace16-r420/**' + - '.github/workflows/subspace16-r420.yml' + workflow_dispatch: +permissions: + contents: read +jobs: + verify: + runs-on: ubuntu-24.04 + timeout-minutes: 15 + strategy: + fail-fast: false + matrix: + python-version: ['3.11', '3.14'] + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 + with: + persist-credentials: false + - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 + with: + python-version: ${{ matrix.python-version }} + - name: Install native and Python prerequisites + run: | + sudo apt-get update + sudo apt-get install -y g++ libboost-dev + python -m pip install numpy scipy sympy + - name: Rebuild both suppliers, phases, owners and exact assembly + run: python -B research/subspace16-r420/verify.py --work "$RUNNER_TEMP/subspace16-r420" --boost-include /usr/include + - name: Require unchanged tracked sources + run: git diff --exit-code diff --git a/research/subspace16-r420-validation/CROSS-PLATFORM.json b/research/subspace16-r420-validation/CROSS-PLATFORM.json new file mode 100644 index 0000000000..f7f66abea3 --- /dev/null +++ b/research/subspace16-r420-validation/CROSS-PLATFORM.json @@ -0,0 +1,49 @@ +{ + "status": "PASS_COLD_MACOS_LINUX_SEMANTIC_AGREEMENT", + "kappa": "0.001591968902833346", + "manifest_sha256": "2b3351b02e4b4e13f0f3c02e5b7c664c01c149f7a85d7f1bcb83709f7fce837a", + "macos_seconds": 179.7088361249771, + "linux_seconds": 229.51199523499236, + "result_differences": [ + [ + "/bit_template_sha256", + "cc2464bf7113684521e093fc35e0834fc9e9b5da9b2f6203f3a08adeaa89ca57", + "63144473ac69d384968a6447b1effa26d820ce6b6d85dbc4ef4f63c7121547d9" + ], + [ + "/seconds", + 179.7088361249771, + 229.51199523499236 + ], + [ + "/python", + "3.14.8 (main, Sep 30 2026, 17:55:09) [Clang 21.0.0 (clang-2100.3.34.2)]", + "3.12.3 (main, Aug 31 2026, 10:18:26) [GCC 13.3.0]" + ] + ], + "bit_template_differences": [ + [ + "/geometry_sha256", + "66e0d7d15226c6a1401ba1effe45bcd574f658faaacaf418725dae1d46d01319", + "51bb08487cdffdbe59cfe5932beb7093d03836899864dcdd675527b4cc9b7341" + ] + ], + "bit_geometry_differences": [ + [ + "/seconds", + 1.6459629579912871, + 2.1484170469921082 + ] + ], + "statement": "Both final immutable package replays pass. All top-level semantic fields and complex word/program/phase/template hashes agree. R420 raw template hashes differ only through the hash of geometry containing measured seconds. Raw bit templates are not claimed byte-identical. The expanded bit operator hash is identical.", + "receipts": { + "macos-python314/RESULT.json": "77f0e1be238ec6a657b976bf8b11d6b024159d21c22a414388d298371604e1a1", + "linux-python312/RESULT.json": "0c966d0a6946fd5ede7e7765d0ccccd2f83442bd5c5e4998ab64bce8c0414a32", + "macos-python314/RECEIPT.json": "ff9c546517dd426206ce47c64726e9ed5bfb41449340c5c3495339f350b27073", + "linux-python312/RECEIPT.json": "cccb4cea96e5800b3614596bc0e343491daf1089a45bcf4916d9f2878b75f5eb", + "macos-python314/bit-r420/replay/v9/hosted/GLOBAL-TEMPLATE.json.gz": "960e06322dcabc1071c427e3296708a183ef962d92b41e20c3f143c06f6b906f", + "linux-python312/bit-r420/replay/v9/hosted/GLOBAL-TEMPLATE.json.gz": "77aa1302fd049a7e24411880b4bf33d11c0f2e77fdddd18e672fad89d4c06e49", + "macos-python314/bit-r420/replay/v9/nine/GEOMETRY.json": "66e0d7d15226c6a1401ba1effe45bcd574f658faaacaf418725dae1d46d01319", + "linux-python312/bit-r420/replay/v9/nine/GEOMETRY.json": "51bb08487cdffdbe59cfe5932beb7093d03836899864dcdd675527b4cc9b7341" + } +} diff --git a/research/subspace16-r420-validation/PRELIMINARY-CORRECTIONS.json b/research/subspace16-r420-validation/PRELIMINARY-CORRECTIONS.json new file mode 100644 index 0000000000..14a24f2328 --- /dev/null +++ b/research/subspace16-r420-validation/PRELIMINARY-CORRECTIONS.json @@ -0,0 +1,20 @@ +{ + "status": "PRELIMINARY_ALL_MATHEMATICAL_CHECKS_PASSED_EXPECTED_METADATA_REJECTED", + "prefix": { + "stale_expected": 225, + "actual_pilot_and_cold": 218 + }, + "template_difference": { + "only_fields": [ + "supplier_substitution/old_canonical_word_sha256", + "supplier_substitution/parent_template_sha256" + ], + "cause": "Pilot used PR548 controller parent references; first package copied earlier PR544 references. No other template field differed. Final verifier stages the exact PR548 references in scratch before unchanged admission." + }, + "final_changes": [ + "Correct expected measured prefix to 218 without changing charged budget.", + "Stage exact source-pinned PR548 parent references.", + "Update inherited prototype documentation and attribution." + ], + "verification": "Final package must pass new cold macOS and Linux runs; no final pass inferred from the preliminary rejection." +} diff --git a/research/subspace16-r420-validation/README.md b/research/subspace16-r420-validation/README.md new file mode 100644 index 0000000000..a381377907 --- /dev/null +++ b/research/subspace16-r420-validation/README.md @@ -0,0 +1,9 @@ +# Final cold verification + +The unchanged final package manifest `2b3351b02e4b4e13f0f3c02e5b7c664c01c149f7a85d7f1bcb83709f7fce837a` passed full replay on macOS/Python 3.14.8 in 179.7088 seconds and Linux aarch64/Python 3.12.3 in 229.5120 seconds. Both report κ = 0.001591968902833346. + +Every artifact hash in both recorded receipts was checked against these copies. All semantic top-level results and complex canonical-word, emitted-program, phase-recipe and template hashes agree. The bit template's only difference is its geometry hash; the geometry differs only in measured seconds. The expanded bit operator hashes agree. See CROSS-PLATFORM.json; raw bit-template identity is not claimed. + +PRELIMINARY-CORRECTIONS.json preserves the initial expected-metadata rejection and its resolution. The final cold runs occurred after both corrections and final documentation/source manifests were frozen. The mathematical audit code was not weakened. + +GitHub CI is separate from these observed local/remote runs. diff --git a/research/subspace16-r420-validation/linux-python312/RECEIPT.json b/research/subspace16-r420-validation/linux-python312/RECEIPT.json new file mode 100644 index 0000000000..5d70852277 --- /dev/null +++ b/research/subspace16-r420-validation/linux-python312/RECEIPT.json @@ -0,0 +1,125 @@ +{ + "status": "PASS_SUBSPACE16_R420_BOTH_SUPPLIERS", + "stages": [ + { + "name": "bit-r420-full-replay-and-interface", + "exit_code": 0, + "seconds": 116.19484477397054, + "log_sha256": "a222a733a66a6657b5b041a8432cae78449d65984377b7b257ecaee941fdfeee" + }, + { + "name": "complex-static44-construction-and-controls", + "exit_code": 0, + "seconds": 4.429556539980695, + "log_sha256": "710d00e4459f1986cc56699cfdbf25e20b16c4fbebf485475f725c8edf7e47d7" + }, + { + "name": "complex-548-frame-lifts", + "exit_code": 0, + "seconds": 0.44867917406372726, + "log_sha256": "9d912ac7edbdcdf3d6a8a3e82358bc325d68e2773cd91371e7e4cb95eecbf356" + }, + { + "name": "complex-548-syndrome", + "exit_code": 0, + "seconds": 0.18731442489661276, + "log_sha256": "5a043dd6559a4d5932a7f3c5378ee42e709cf655395d5c3c92cf4185d3585659" + }, + { + "name": "complex-response-slice", + "exit_code": 0, + "seconds": 0.2696257848292589, + "log_sha256": "187de54751a3b255e2a1ce87bab2382dbfc658e02c6315cdb0caeb94f9f1719c" + }, + { + "name": "complex-subspace16", + "exit_code": 0, + "seconds": 0.1697510478552431, + "log_sha256": "75d72e9f1f5499a06026a3abf7d5cf1165eb720319db87e39f0b905ab1611567" + }, + { + "name": "complex-scalar-frame-transport", + "exit_code": 0, + "seconds": 0.4950255169533193, + "log_sha256": "9b715b70a86fa606e101a5c52a764c1b7e83c6bb5a138a12fb7289d307bfcb5f" + }, + { + "name": "complex-emit-local", + "exit_code": 0, + "seconds": 0.47103255591355264, + "log_sha256": "c554d261298d443991b872559a14b1f2dfd49484ef91d445b70c78b8d010ab0a" + }, + { + "name": "complex-independent-local", + "exit_code": 0, + "seconds": 1.7107488340698183, + "log_sha256": "b694b4b22abb9d1de9a70bbbdf9e9b0e030ec00a7eddc264e4c18376dd859cee" + }, + { + "name": "complex-normalized-wrappers", + "exit_code": 0, + "seconds": 0.8680077821481973, + "log_sha256": "4638570164b60b9d83753f6fd3a6359713fc062971e022bdea919f8d479b298a" + }, + { + "name": "complex-every-local-phase", + "exit_code": 0, + "seconds": 95.74115449003875, + "log_sha256": "6ef23baac47f7daadb5614f4aaca0b6617bad6dd95adeed6e18aca3a146c055c" + }, + { + "name": "complex-bind-retained-data", + "exit_code": 0, + "seconds": 0.9506175050046295, + "log_sha256": "0ec9cf9211eb0d1f73960977bda84e4dd1b29e3707e8b1862dae2b99425ff75c" + }, + { + "name": "complex-emit-whole-owners", + "exit_code": 0, + "seconds": 2.091774489963427, + "log_sha256": "7eb794f4f4c23bbddcc94b7f30c6edec7b108a5f202c52af896a5e750c7a81ac" + }, + { + "name": "complex-independent-owners-and-controls", + "exit_code": 0, + "seconds": 4.7819736048113555, + "log_sha256": "1b24ed8decf1bc8a5088262817087102a7f22b25a792203613ff4420fb3cdcb3" + }, + { + "name": "complex-finite-invoice", + "exit_code": 0, + "seconds": 0.43986431998200715, + "log_sha256": "100a22d8d1d28e39fdfbe3db41dcc239b0dcdc2f50ab310c11185d546ee1f876" + }, + { + "name": "both-moments-and-outer-assembly", + "exit_code": 0, + "seconds": 0.22763017797842622, + "log_sha256": "2682779be39198eb79bea0d93c4ccbee18f8db2b01803deba92f00457b59941b" + } + ], + "artifacts": { + "RESULT.json": "0c966d0a6946fd5ede7e7765d0ccccd2f83442bd5c5e4998ab64bce8c0414a32", + "bit-r420/DRIVER.json": "95ce16173143a47081b0ecfb039d030325c4938a47f7cf30c3b3ed8ea3b13ffc", + "bit-r420/replay/xcheck.json": "957c926bea5ca5aa52c5e0d3b1623c813e1338e3ed7402c5f188edfbaed6eb7d", + "bit-r420/replay/mutants.json": "fa7c2b880d9f45b797b0894fd402e6b041b5f5318770497322f7673e16362c1e", + "bit-r420/replay/cout/columns.json": "22f961cf5dc9b71eb194c57cd70515e6b52b851516f85f813edd1b0c2cf24170", + "bit-r420/replay/cout/columns_k4.json": "805623dccb19337049fe46dfb94ed5153638067ad3293c045e5e693c522f239f", + "bit-r420/replay/cout/columns_k5.json": "1bbb9a1f7c9af6df07ff216e2486685b6584b19b813ab2aaa38ec7c0008bc1b4", + "bit-r420/replay/cout/legality.json": "9533feacec0c271acf27a028be0d89385f8bd6b2a2a5bfaa6e68f9eff94830bf", + "bit-r420/replay/v9/hosted/AUDIT.json": "47a3309a45691155e92ccd6a8ac663b73bc950c7268ab5ef6dc3c6e6bb1627e9", + "bit-r420/replay/RESULT9.json": "f2a326be2a501ec6cac7c04719d31bf3b0007175c1a549538a11ec617128ae1e", + "bit-r420/replay/RESULT11.json": "55510df57374708ac6a3cca3f8d0ea2081a90b98a9c4dc4532f865d52a7255ac", + "static44/SCALAR-AUDIT.json": "6572afd4b38edd37f4c33f2a16b1117a627dcb81e75f6a09b8687e9f042f518a", + "sliced/RESULT.json": "1c5d5e5d26caf3d4ff00e524d82b72f72aa3360979e2d04192a85b368c63e129", + "subspace16/RESULT.json": "6f1f2c36201a5d0ff8c1aec58019959f5b08f93707a05c63fb2bbf0ba52fa712", + "complex-local/INDEPENDENT-LOCAL-REPLAY.json": "6690e3728e84c029b0b10735a55c07d1a60cf675c973d5973dcc669e90f39f42", + "complex-local/CLIFFORD-REVIEW.json": "ba0f6c3573d77795b563b429e52b3a6ec51ddfc6f0fd47ca74cd76dba433770f", + "complex-local/LEMMA-A.json": "bc9d150517bae20490620f6d18b1af68a7d57ca5efe772613a9ee5ccd09107d8", + "complex-audit/ASYNC-AUDIT.json": "1b24ed8decf1bc8a5088262817087102a7f22b25a792203613ff4420fb3cdcb3", + "complex-audit/OWNERS-AND-PROFILE.json": "c0a5ed304f9edee7bae62483c44e79713d8cb3ad2bb678aa017780fa2ff8641b", + "complex-audit/PREFIX-AND-INVOICE.json": "100a22d8d1d28e39fdfbe3db41dcc239b0dcdc2f50ab310c11185d546ee1f876", + "assembly/EXACT-ASSEMBLY.json": "351e19b3782f5e9d4a0faa16f3a7891962e16d0bff683f90168ce2b0fc509b9e" + }, + "manifest_sha256": "2b3351b02e4b4e13f0f3c02e5b7c664c01c149f7a85d7f1bcb83709f7fce837a" +} diff --git a/research/subspace16-r420-validation/linux-python312/RESULT.json b/research/subspace16-r420-validation/linux-python312/RESULT.json new file mode 100644 index 0000000000..4ce51a4e8d --- /dev/null +++ b/research/subspace16-r420-validation/linux-python312/RESULT.json @@ -0,0 +1,70 @@ +{ + "kappa": "795984451416673/500000000000000000", + "kappa_decimal": "0.001591968902833346", + "complex_lower": "1594507308884431019637/1000000000000000000000000", + "bit_lower": "413456747036699736067/250000000000000000000000", + "binding_component": "complex", + "status": "PASS_SUBSPACE16_R420_BOTH_SUPPLIERS", + "bit_local_profile": { + "1": 1320, + "2": 1440, + "4": 60, + "5": 120, + "8": 9 + }, + "bit_global_profile": { + "1": 380160, + "2": 426624, + "4": 32640, + "5": 34560, + "6": 15360, + "7": 23040, + "8": 2592, + "42": 3456 + }, + "bit_word_sha256": "9721a3819efd68307f66f00d84a952eb28eb7c3ad2ce79653ce295c98a764784", + "bit_template_sha256": "63144473ac69d384968a6447b1effa26d820ce6b6d85dbc4ef4f63c7121547d9", + "bit_program_sha256": "2d219ab9a59aaf8f7163f28cac55a3d7a010dd9aa93ec53108491c1e5d434ab5", + "bit_payload_prefix_bits": 100, + "bit_prefix_bits": 189, + "bit_charged_prefix_bits": 192, + "bit_two_level_bits": 416, + "bit_charged_two_level_bits": 512, + "complex_local_profile": { + "1": 2300, + "2": 440, + "3": 472, + "4": 184, + "5": 56, + "6": 56, + "8": 8 + }, + "complex_global_profile": { + "1": 165600, + "2": 32128, + "3": 35907, + "4": 13248, + "5": 4032, + "6": 4032, + "7": 208, + "8": 576, + "39": 1, + "48": 1660 + }, + "complex_word_sha256": "2c1ae483355a8a91057c08b2faf537cc1842f7fc1fa7a4c12b3aebf4ed8a8ba3", + "complex_program_sha256": "8c4f7b39c473de286bfa8cc66ff8e054410bb14e5efa2e50f75fc48b928859b4", + "complex_phase_sha256": "01b96cacdeca5771257cfbe7f6ca96c9c38a7ccb06487211837d0ec14c1eec50", + "complex_template_sha256": "8cea2b4ff1b53c4930d758dbc6d9ba701a543599c450af4d0b4110c358be4e08", + "complex_live": 7168, + "complex_physical": 7682, + "complex_deficit": 2560, + "complex_helper_roles": 36288, + "complex_prefix_bits": 218, + "complex_charged_prefix_bits": 512, + "phase_edges": 2929, + "endpoint_adapters": 224, + "seconds": 229.51199523499236, + "python": "3.12.3 (main, Aug 31 2026, 10:18:26) [GCC 13.3.0]", + "manifest_sha256": "2b3351b02e4b4e13f0f3c02e5b7c664c01c149f7a85d7f1bcb83709f7fce837a", + "scope": "Conditional finite witness under the retained all-size compiler, common-label/mutable-basis, whole-call hosting, restored-work, precision/tape and analytic-transfer contracts. Fresh changed-bit admission and complex admission and finite invoices are separately hash-bound. The unchanged complex data controller remains a cited dependency. No unconditional theorem is claimed." +} diff --git a/research/subspace16-r420-validation/linux-python312/STAGES.json b/research/subspace16-r420-validation/linux-python312/STAGES.json new file mode 100644 index 0000000000..b615adcb0e --- /dev/null +++ b/research/subspace16-r420-validation/linux-python312/STAGES.json @@ -0,0 +1,98 @@ +[ + { + "name": "bit-r420-full-replay-and-interface", + "exit_code": 0, + "seconds": 116.19484477397054, + "log_sha256": "a222a733a66a6657b5b041a8432cae78449d65984377b7b257ecaee941fdfeee" + }, + { + "name": "complex-static44-construction-and-controls", + "exit_code": 0, + "seconds": 4.429556539980695, + "log_sha256": "710d00e4459f1986cc56699cfdbf25e20b16c4fbebf485475f725c8edf7e47d7" + }, + { + "name": "complex-548-frame-lifts", + "exit_code": 0, + "seconds": 0.44867917406372726, + "log_sha256": "9d912ac7edbdcdf3d6a8a3e82358bc325d68e2773cd91371e7e4cb95eecbf356" + }, + { + "name": "complex-548-syndrome", + "exit_code": 0, + "seconds": 0.18731442489661276, + "log_sha256": "5a043dd6559a4d5932a7f3c5378ee42e709cf655395d5c3c92cf4185d3585659" + }, + { + "name": "complex-response-slice", + "exit_code": 0, + "seconds": 0.2696257848292589, + "log_sha256": "187de54751a3b255e2a1ce87bab2382dbfc658e02c6315cdb0caeb94f9f1719c" + }, + { + "name": "complex-subspace16", + "exit_code": 0, + "seconds": 0.1697510478552431, + "log_sha256": "75d72e9f1f5499a06026a3abf7d5cf1165eb720319db87e39f0b905ab1611567" + }, + { + "name": "complex-scalar-frame-transport", + "exit_code": 0, + "seconds": 0.4950255169533193, + "log_sha256": "9b715b70a86fa606e101a5c52a764c1b7e83c6bb5a138a12fb7289d307bfcb5f" + }, + { + "name": "complex-emit-local", + "exit_code": 0, + "seconds": 0.47103255591355264, + "log_sha256": "c554d261298d443991b872559a14b1f2dfd49484ef91d445b70c78b8d010ab0a" + }, + { + "name": "complex-independent-local", + "exit_code": 0, + "seconds": 1.7107488340698183, + "log_sha256": "b694b4b22abb9d1de9a70bbbdf9e9b0e030ec00a7eddc264e4c18376dd859cee" + }, + { + "name": "complex-normalized-wrappers", + "exit_code": 0, + "seconds": 0.8680077821481973, + "log_sha256": "4638570164b60b9d83753f6fd3a6359713fc062971e022bdea919f8d479b298a" + }, + { + "name": "complex-every-local-phase", + "exit_code": 0, + "seconds": 95.74115449003875, + "log_sha256": "6ef23baac47f7daadb5614f4aaca0b6617bad6dd95adeed6e18aca3a146c055c" + }, + { + "name": "complex-bind-retained-data", + "exit_code": 0, + "seconds": 0.9506175050046295, + "log_sha256": "0ec9cf9211eb0d1f73960977bda84e4dd1b29e3707e8b1862dae2b99425ff75c" + }, + { + "name": "complex-emit-whole-owners", + "exit_code": 0, + "seconds": 2.091774489963427, + "log_sha256": "7eb794f4f4c23bbddcc94b7f30c6edec7b108a5f202c52af896a5e750c7a81ac" + }, + { + "name": "complex-independent-owners-and-controls", + "exit_code": 0, + "seconds": 4.7819736048113555, + "log_sha256": "1b24ed8decf1bc8a5088262817087102a7f22b25a792203613ff4420fb3cdcb3" + }, + { + "name": "complex-finite-invoice", + "exit_code": 0, + "seconds": 0.43986431998200715, + "log_sha256": "100a22d8d1d28e39fdfbe3db41dcc239b0dcdc2f50ab310c11185d546ee1f876" + }, + { + "name": "both-moments-and-outer-assembly", + "exit_code": 0, + "seconds": 0.22763017797842622, + "log_sha256": "2682779be39198eb79bea0d93c4ccbee18f8db2b01803deba92f00457b59941b" + } +] diff --git a/research/subspace16-r420-validation/linux-python312/assembly/EXACT-ASSEMBLY.json b/research/subspace16-r420-validation/linux-python312/assembly/EXACT-ASSEMBLY.json new file mode 100644 index 0000000000..54d34f3699 --- /dev/null +++ b/research/subspace16-r420-validation/linux-python312/assembly/EXACT-ASSEMBLY.json @@ -0,0 +1,207 @@ +{ + "status": "PASS_SUBSPACE16_R420_BOTH_SUPPLIERS", + "complex_lower": "1594507308884431019637/1000000000000000000000000", + "complex_decimal": "0.001594507308884431019637", + "next_b_rejected": "797253654442215509819/500000000000000000000000", + "exact_moment_receipts": [ + { + "endpoint": "1594507308884431019637/1000000000000000000000000", + "accept": true, + "mercator": [ + "-40186902685703231311821970003273532124160065/13479973333575319897333507543509815336818572211270286240551805124608", + "-627920354464112989247218281301148939440001/210624583337114373395836055367340864637790190801098222508621955072" + ], + "base_two": [ + "-1863269341316411144019/625000000000000000000000000000000000000000000", + "-3726537432632822288021/1250000000000000000000000000000000000000000000" + ] + }, + { + "endpoint": "797253654442215509819/500000000000000000000000", + "accept": false, + "mercator": [ + "2584151432270445003531030214735456403866167/26959946667150639794667015087019630673637144422540572481103610249216", + "2584151432270445003531030214735456403866169/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "958510539299785465391/10000000000000000000000000000000000000000000000", + "958520539299785465527/10000000000000000000000000000000000000000000000" + ] + } + ], + "bit_lower": "413456747036699736067/250000000000000000000000", + "bit_decimal": "0.001653826988146798944268", + "bit_exact_moment_receipts": [ + { + "endpoint": "413456747036699736067/250000000000000000000000", + "accept": true, + "mercator": [ + "-6043813583626134311169770662156174867615397/13479973333575319897333507543509815336818572211270286240551805124608", + "-12087627167252268622339541324312349735230793/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "-1120888283015460284783/2500000000000000000000000000000000000000000000", + "-4483543132061841139029/10000000000000000000000000000000000000000000000" + ] + }, + { + "endpoint": "1653826988146798944269/1000000000000000000000000", + "accept": false, + "mercator": [ + "70925594433828721229860776023154018035852861/26959946667150639794667015087019630673637144422540572481103610249216", + "70925594433828721229860776023154018035852863/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "13153878434097279887307/5000000000000000000000000000000000000000000000", + "6576941717048639943679/2500000000000000000000000000000000000000000000" + ] + } + ], + "bit_result_sha256": "f2a326be2a501ec6cac7c04719d31bf3b0007175c1a549538a11ec617128ae1e", + "complex_dependency": { + "source_pr": 548, + "commit": "66dbc2bffc1bfa8d50b3f9a2ac7ccba8fd9f6f36", + "local_word": "response-sliced and subspace-optimized static44", + "new_global_owners": false + }, + "bit_dependency": { + "pull_request": 543, + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "changed_word": "PR543 R420 with interleaved phase-B source writes", + "fresh_bit_receipt_sha256": "f2a326be2a501ec6cac7c04719d31bf3b0007175c1a549538a11ec617128ae1e" + }, + "bit_prefix_bits": 192, + "bit_charged_two_level_coefficient_bits": 512, + "external_row_allowance": 20161, + "kappa": "795984451416673/500000000000000000", + "kappa_decimal": "0.001591968902833346", + "binding_component": "complex", + "improvements": { + "PR547_updated": { + "baseline": "49718254847979/31250000000000000", + "relative_gain": "492373849009/795492077567664", + "percent_display": "0.06189551" + }, + "PR535": { + "baseline": "1584931111785787/1000000000000000000", + "relative_gain": "7037791047559/1584931111785787", + "percent_display": "0.44404397" + }, + "PR541": { + "baseline": "396803113660173/250000000000000000", + "relative_gain": "2378224096327/793606227320346", + "percent_display": "0.29967306" + }, + "PR542_543": { + "baseline": "793733736881443/500000000000000000", + "relative_gain": "2250714535230/793733736881443", + "percent_display": "0.28356040" + }, + "PR544": { + "baseline": "397150561665803/250000000000000000", + "relative_gain": "1683328085067/794301123331606", + "percent_display": "0.21192568" + }, + "PR531": { + "baseline": "1517760977820331/1000000000000000000", + "relative_gain": "74207925013015/1517760977820331", + "percent_display": "4.88930247" + }, + "rejected_POST208_checkpoint": { + "baseline": "771820390859371/500000000000000000", + "relative_gain": "24164060557302/771820390859371", + "percent_display": "3.13078805" + }, + "PR533": { + "baseline": "381051987698311/250000000000000000", + "relative_gain": "33880476020051/762103975396622", + "percent_display": "4.44565008" + } + }, + "strict_outer_constraints": { + "bit_positive": "1594507308884430992468479037226948733045790402355797280259266461847547651686955705218596394719171511716814102174643360720897587440213809430805913176507663516027445521538549212305000514224108115814505541158736776382676571646668186023354922554527223479408350180742584877240118621306983251711933/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_above_bit": "27168520962773051266954209597644202719740733538152452348313044294781403605280828488283185897825356639279102412559786190569194086823492336483972554478461450787694999485775891884185494458841263223617323428353331813976645077445472776520591649819257415122759881378693016748288067/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_below_one_over32": "29655492691115568980363/1000000000000000000000000", + "beta_positive": "1/1000000000000000000", + "beta_below_one": "999999999999999999/1000000000000000000", + "leaf_saving_above_bit": "25574013653888620247317209597644202719740733538152452348313044294781403605280828488283185897825356639279102412559786190569194086823492336483972554478461450787694999485775891884185494458841263223617323428353331813976645077445472776520591649819257415122759881378693016748288067/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_positive": "797253654442215494639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_internal": "1594507308884430992468479037226948733045790402355797280259266461847547651686955705218596394719171511716814102174643360720897587440213809430805913176507663516027445521538549212305000514224108115814505541158736776382676571646668186023354922554527223479408350180742584877240118621306983251711933/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_leaf": "14381514135828741116127083836049050092916157171432023454415788609238249454327369949360189343631849831356365308454536456005494630851959977672792190415738388909874945264426495154397747743644739727623167255335402683370999110369404574283650747464155931040788290870089093251384152121306983251711933/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_positive": "797253654442215619639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_below_one": "499202746345557784380360267790270956625945583836049050092916157171432023454415788609238249454327369949360189343631849831356365308454536456005494630851959977672792190415738388909874945264426495154397747743644739727623167255335402683370999110369404574283650747464155931040788290870089093251384152121306983251711933/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_reservations": "1/4000000000000000000", + "lambda_above_tau": "1594507308884430992468479037226948733045790402355797280259266461847547651686955705218596394719171511716814102174643360720897587440213809430805913176507663516027445521538549212305000514224108115814505541158736776382676571646668186023354922554527223479408350180742584877240118621306983251711933/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_sigma": "28763028271657482259422688634871151452786523940508249628572310756628951256967784193501782292544528150995916514734429551290091674263706145914778467654969114303722445007314441096490494973065371339431828969512068590359321649092140962543946572373784638602168231559435601625528185621306983251711933/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_internal": "1594507308884430992468479037226948733045790402355797280259266461847547651686955705218596394719171511716814102174643360720897587440213809430805913176507663516027445521538549212305000514224108115814505541158736776382676571646668186023354922554527223479408350180742584877240118621306983251711933/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_prime_above_lambda": "1594507308884430992468479037226948733045790402355797280259266461847547651686955705218596394719171511716814102174643360720897587440213809430805913176507663516027445521538549212305000514224108115814505541158736776382676571646668186023354922554527223479408350180742584877240118621306983251711933/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_leaf": "14381514135828741116127083836049050092916157171432023454415788609238249454327369949360189343631849831356365308454536456005494630851959977672792190415738388909874945264426495154397747743644739727623167255335402683370999110369404574283650747464155931040788290870089093251384152121306983251711933/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_reservations": "1/4000000000000000000", + "lambda_prime_below_one": "797253654442215494639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_positive": "499999999999999999500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/500797253654442215494639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067", + "epsilon_below_one": "797253654442215994639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067/500797253654442215494639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067", + "guard_width": "797253654442215994639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067/500797253654442215494639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067", + "K_geometry": "375797253654442215619639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067/500797253654442215494639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067000000000000000000", + "K_dominates_log": "797253654442215618842478555286827754414683954221906533029426664617026638500368562193774000088418659878060110695520118003824035177313375350870677602576478332702440436221588762917245151311893755477197520781755426774580488309337044252168144965998109087348362905248643242862456594066837789404138748782109999672219121306983251711933/500797253654442215494639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067000000000000000000", + "record_suffix": "797253654442215994639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067/500797253654442215494639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067", + "phase_local": "6378029235537727456320604023390131497795597101878555882616326464592862457589848297526027819796829014356734705272571298509266875995558183312408261638856634623157107526052866393792628300326427674692963315268577333412409700961518260655174372380166089101793130656157125957344420503443185029715073899633227237688688121306983251711933/4006378029235537723957117857677832346992435329311607599256670742628543812364673691126094004365381040405118485250945201349149077532363708351956042953184320178617662476674092888721000437884588038764818018050842082179014661957316778533032007117044763405730794020286752551673693673039287253988926783029544133986304536000000000000000000", + "phase_boundary": "1275605847107545090626317881124253903847333652592476477279732361757812565850895396650824327491996690261946504516410219190004850104591501747573899091400491729027126186778555416992277992655996662838548874594911590200680135108095434229568678744355364517157914426755084618389482072013381838573647475997920048645059321306983251711933/801275605847107544791423571535566469398487065862321519851334148525708762472934738225218800873076208081023697050189040269829815506472741670391208590636864035723532495334818577744200087576917607752963603610168416435802932391463355706606401423408952681146158804057350510334738734607857450797785356605908826797260907200000000000000000", + "gamma_sublinear": "1/2000000000000000000", + "cell_above_band": "999999999999999998499202746345557784505360267790270956625945583836049050092916157171432023454415788609238249454327369949360189343631849831356365308454536456005494630851959977672792190415738388909874945264426495154397747743644739727623167255335402683370999110369404574283650747464155931040788290870089093251384152121306983251711933/2003189014617768861978558928838916173496217664655803799628335371314271906182336845563047002182690520202559242625472600674574538766181854175978021476592160089308831238337046444360500218942294019382409009025421041089507330978658389266516003558522381702865397010143376275836846836519643626994463391514772066993152268000000000000000000", + "prime_interval_packing": "797253654442215994639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067/500797253654442215494639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067", + "alpha_positive": "1594507308884431488482210765015871253469100118172856440113269493185003184084579952955524545761048710517870767063670286647458726722776919345376046750616500659910250020483199853042299886885398601079449777137015699151413232973934360881169034596593534803697615441092712202074165723977744538019986627475126747960286121306983251711933/1001594507308884430989279464419458086748108832327901899814167685657135953091168422781523501091345260101279621312736300337287269383090927087989010738296080044654415619168523222180250109471147009691204504512710520544753665489329194633258001779261190851432698505071688137918423418259821813497231695757386033496576134000000000000000000", + "alpha_below_one": "999999999999999999500797253654442215494639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067/1001594507308884430989279464419458086748108832327901899814167685657135953091168422781523501091345260101279621312736300337287269383090927087989010738296080044654415619168523222180250109471147009691204504512710520544753665489329194633258001779261190851432698505071688137918423418259821813497231695757386033496576134000000000000000000", + "alpha_below_one_fourth": "248804119518336676258837655339848650433558107963802618513428651921098985088707525742425350727075266314802034561120404797674358619049954852651876637823403510503693654771647605692020227480901353821721676351040614437037003139358364297433331410218704178054477010826829322277531688840977708836287937311871381626183747378693016748288067/1001594507308884430989279464419458086748108832327901899814167685657135953091168422781523501091345260101279621312736300337287269383090927087989010738296080044654415619168523222180250109471147009691204504512710520544753665489329194633258001779261190851432698505071688137918423418259821813497231695757386033496576134000000000000000000", + "delta_positive": "1/8000000000000000000", + "delta_below_one_eighth": "999999999999999999/8000000000000000000", + "short_record_fallback": "499201475118778741068654999143069888940482593957175092531137652663607153230380364476741265024793568211578239946781632664656197051029666885388777949726762774166552094549420419698786993435590645252359988126936119951198526011529555071525349032417256714778358667048116032446905408104103655385299570671012998172421314846684341560678342333181399360596881909003917645240179913381331047154541985273560948368456881515372086210454496466220401309420123637759743720785646439308676234795844715221287284693206730575074498543551795480255309640615346960296644917361507509957276363124501169036123443900995918015175214596489/500797253654442215494639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "small_field_exposure": "1/1000000000000000000", + "artificial_boundary": "28051024233884301797159334622385985422423401831122047924175529189520203348638641057494455964559800957413233133644579500945112052228014117321579247700110952060924815920836863176749626931829489143388919308613457171968924052427600009081386555170351899195733354831185806690538597141921830238789049391626085792136283831636079050244864201/4006378029235537723957117857677832346992435329311607599256670742628543812364673691126094004365381040405118485250945201349149077532363708351956042953184320178617662476674092888721000437884588038764818018050842082179014661957316778533032007117044763405730794020286752551673693673039287253988926783029544133986304536000000000000000000", + "literal_scalar_guard": "1", + "row_product_gap": "23971789/25", + "balanced_prefix_above_kappa": "372636184202921975476439331760191289554942920846488485958822380065911553624243595975578203644518931690830323098562918152658815380939475333653026733261232819868675675626293956319444617960666460055825134073291445913610069804613774836077747637638598521888451882535525467933042427391415221387426954962431594349258909/250398626827221107747319866104864521687027208081975474953541921414283988272792105695380875272836315025319905328184075084321817345772731771997252684574020011163603904792130805545062527367786752422801126128177630136188416372332298658314500444815297712858174626267922034479605854564955453374307923939346508374144033500000000000000000", + "coordinate_movement_above_kappa": "2538406051084992468479037226948733045790402355797280259266461847547651686955705218596394719171511716814102174643360720897587440213809430805913176507663516027445521538549212305000514224108115814505541158736776382676571646668186023354922554527223479408350180742584877240118621306983251711933/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_phase_layer_above_kappa": "244475114751401735458238931310653535735831425529026022010560917303255130702902980560394656743365233331020835540757686136673996070333487123311548097374425617410143541668326301548764181185759415266048015890227631554843306864562952355526494385646601618060554512535206866906873145652919536026238062046170171950229751/500797253654442215494639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067000000000000000000", + "bulk_exposure_above_kappa": "2538406051084992468479037226948733045790402355797280259266461847547651686955705218596394719171511716814102174643360720897587440213809430805913176507663516027445521538549212305000514224108115814505541158736776382676571646668186023354922554527223479408350180742584877240118621306983251711933/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "Gaussian_arithmetic_above_kappa": "3458192678974540530149830647114415416008814652724061025805738866911744975259976478655442505583939756800086116295165939599322872637304287618475900886439525006262771762099395245660488613692795836665190883890886833255876953150497410794098957754064599221633483857889187142132620292613089008455752040005440425846702209/4006378029235537723957117857677832346992435329311607599256670742628543812364673691126094004365381040405118485250945201349149077532363708351956042953184320178617662476674092888721000437884588038764818018050842082179014661957316778533032007117044763405730794020286752551673693673039287253988926783029544133986304536000000000000000000", + "scalar_work_above_kappa": "5461381693592309392128389575953331589505032317379864825434074238226016881442313324218489507766630277002645358920638540273897411403486141794453922363031685095571603000436441690020988832635089856047599892916307874345384284129155800060614961312586980924498880868032563417969467129132732635450215431520212492839854477/4006378029235537723957117857677832346992435329311607599256670742628543812364673691126094004365381040405118485250945201349149077532363708351956042953184320178617662476674092888721000437884588038764818018050842082179014661957316778533032007117044763405730794020286752551673693673039287253988926783029544133986304536000000000000000000", + "dimension_above_kappa": "249601373172778892125316318098057453789412123678215814601400999432204497686030274370530678351407280950258298316334856606508505752790186380661562696365455322489422828469102014323613148258507203896643491832488829919636717700959147255295569359798477123219573011370676487408846027970570014558734503452068713013282921462431594349258909/250398626827221107747319866104864521687027208081975474953541921414283988272792105695380875272836315025319905328184075084321817345772731771997252684574020011163603904792130805545062527367786752422801126128177630136188416372332298658314500444815297712858174626267922034479605854564955453374307923939346508374144033500000000000000000" + }, + "outer_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "bootstrap": [ + { + "gap": "2481128966436905979649524107347598322193487143227352216064130242888143479611769/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "5847952315725" + }, + { + "gap": "3956178271268520723138094774061895366072898769156551497017972093606310599787111700165663787603052205281158022424692147/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "2300121588111717685" + }, + { + "gap": "6308155168787429499404787227965292718475638937130932952669159331883484005492727932678659495572316335858959903688795291960604581005456464413096737382963309361/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "904685783068306507649493" + }, + { + "gap": "10058399522208657933230085316865104289802773723602691124085315487596543287527158481231005071535186950251802332587569637898849382704260238915234907456213548431744765951746189920284435161290903078043/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "355831783117963692133614326705" + }, + { + "gap": "16038191553841373904702614091997355283308084869691670025535507910317141210232663053163457826170583302136412511113060567866861731802322153364457805668676377260603048160819938292355276957694991382009828570411302962831962199269887723469609/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "139956060155473495622122430733492291" + }, + { + "gap": "25573013653888620247317209597644202719740733538152452348313044294781403605280828488283185897825356639279102412559786190569194086823492336483972554478461450787694999485775891884185494458841263223617323428353331813976645077445472776520591649819257415122759881378693016748288067/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "55047636842909261150376392677080110642617" + } + ], + "complex_template_sha256": "8cea2b4ff1b53c4930d758dbc6d9ba701a543599c450af4d0b4110c358be4e08", + "owner_audit_sha256": "c0a5ed304f9edee7bae62483c44e79713d8cb3ad2bb678aa017780fa2ff8641b", + "invoice_sha256": "100a22d8d1d28e39fdfbe3db41dcc239b0dcdc2f50ab310c11185d546ee1f876", + "bit_scope": "The R420 bit word is freshly reconstructed, replayed and admitted by this package by the native local and hosted-global checkers, with its interleaved source-write interface audited separately. The static44 complex supplier is freshly rebuilt and admitted separately.", + "scope": "Conditional finite witness under the retained all-size compiler, common-label/mutable-basis, whole-call hosting, restored-work, precision/tape and analytic-transfer contracts. Fresh changed-bit admission and complex admission and finite invoices are separately hash-bound. The unchanged complex data controller remains a cited dependency. No unconditional theorem is claimed." +} diff --git a/research/subspace16-r420-validation/linux-python312/bit-r420/DRIVER.json b/research/subspace16-r420-validation/linux-python312/bit-r420/DRIVER.json new file mode 100644 index 0000000000..06ff8fbf8a --- /dev/null +++ b/research/subspace16-r420-validation/linux-python312/bit-r420/DRIVER.json @@ -0,0 +1,10 @@ +{ + "status": "PASS_COMPLETE_PR543_DRIVER", + "source_commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "source_sha256": "3192dea51acd17addb2750834a9dc3fb5b991e8dc5970ba9d2ac54608d79cafa", + "driver_sha256": "54a423170d3b18078d64c3e6c135b101e35592f722878461104235ffc4a75d4e", + "changes": [ + "Pin HERE to the unchanged vendored package.", + "Run only the word generator through code/run.py to normalize gzip OS byte; all payload bytes and mathematical checks retained." + ] +} diff --git a/research/subspace16-r420-validation/linux-python312/bit-r420/replay/RESULT11.json b/research/subspace16-r420-validation/linux-python312/bit-r420/replay/RESULT11.json new file mode 100644 index 0000000000..5706bf3913 --- /dev/null +++ b/research/subspace16-r420-validation/linux-python312/bit-r420/replay/RESULT11.json @@ -0,0 +1,136 @@ +{ + "status": "PASS_ELEVEN_STAGE_WHOLE_HOSTED_BIT_PRICE_AND_CITED_ASSEMBLY", + "R": 420, + "bit_lower": "82015816228313440961/50000000000000000000000", + "bit_lower_decimal": "0.00164031632456626881922", + "next_grid_point_rejected": "1640316324566268819221/1000000000000000000000000", + "bit": { + "live": 9600, + "physical": 9609, + "maxchild": 56, + "rank_mass": 745536, + "hosted_residuals": 36960, + "prefix_bits": 4710, + "charged_prefix_bits": 4736, + "coefficient_bits": 4710, + "three_level_coefficient_bits": 14185, + "charged_three_level_coefficient_bits": 14208, + "row_coefficient": 19431, + "halving_depth": 3 + }, + "bit_profile": { + "1": 116160, + "2": 130560, + "4": 9120, + "5": 10560, + "6": 3839, + "7": 7680, + "8": 792, + "14": 1, + "56": 3497 + }, + "row_bound": { + "method": "successive nonzero-norm vectors in nondegenerate complements", + "minimum_q": 3, + "column_exponent": 3003, + "factor_two_power": 78, + "cover_exponent": 3081, + "physical_families": 9609, + "physical_exponent": 9, + "stock_exponent": 3090, + "halving_depth": 3, + "complete_row_coefficient": 19431, + "retained_row_coefficient": 20161 + }, + "row_controls": [ + "false two-level halving", + "understated row reserve" + ], + "bit_template_sha256": "51ef1696bc9a327ec69fe5a5bc2613c8cc49e8fd2c24545d66668424820e4629", + "emitted_program_sha256": "3de4325e0df33ca85116d05cbcc6810f025d6083e5134d128236769c97699f51", + "audit_mutations_rejected": 22, + "kappa": { + "pr535": { + "complex_lower": "1589991533606044174031/1000000000000000000000000", + "kappa": "793733736881443/500000000000000000", + "kappa_decimal": "0.001587467473762886", + "binding_component": "complex", + "strict_outer_constraints": 47, + "outer_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "bootstrap": [ + { + "gap": "2466922161555565196706874881361239427233314917060278358803966499922917014788961/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "5915502031208" + }, + { + "gap": "3922385350938470571667269922904312091591744728378786235749543296111831354752307662469844823338420790736854918978328209/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "2339925251832660982" + }, + { + "gap": "6236559499532540596920946454068430912070571872141805587731976473636868614394671340057726063212290403869463466686940282989579395558676214222045257187367459521/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "925576587630110440164418" + }, + { + "gap": "9916076803087087547850142666396489149976980291394249498801505334056256018445684287816172330366212931139459254568669674708451128856068084538538943490534382644506971733816816117900686094308728100849/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "366119395864473354088826959688" + }, + { + "gap": "15766478163495758022689937956011841145397355715303699010783965729115901618762211982583902604772364050613747559836891214028610222785470862068652098783717236550147524552171012356081061955503432985822622977142836360688849396689808525147681/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "144821524031174952656827434104168501" + }, + { + "gap": "25068566794742827148383074407881196142798552566996430457065661113310790350063075656574977894071965955082525763500445201676598927945561367501731117400906054165465287678366016000311670121795425797812170308129566934575139127607884656467712145555730302230266392276358376059927889/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "57285339317220642981988954652973054752273" + } + ], + "complex_status": "open PR (opened 2026-10-12 02:14 UTC), a conditional finite witness; its own kappa 1584931111785787/10^18 is bit-bound with PR #510's bit c", + "complex_role": "primary" + }, + "pr531": { + "complex_lower": "304013615566499291631/200000000000000000000000", + "kappa": "1517760977820331/1000000000000000000", + "kappa_decimal": "0.001517760977820331", + "binding_component": "complex", + "strict_outer_constraints": 47, + "outer_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "bootstrap": [ + { + "gap": "90085811799150019004410582869232947420733224179192246844610959548424786640161/40000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "7097570097425" + }, + { + "gap": "27387313356302799747666299137568733903709809878688072491275182031845669243330314545464043582423671734451481004207409/8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "3071734057963094733" + }, + { + "gap": "8326116154102290793599286963905105749963501347701642176092446009017064428474956278308368491824986802363390869805313673561158051015286850104115270898105921/1600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "1329405697067353589697069" + }, + { + "gap": "2531252675635273404746793961741440744484193517630301065895207272185247355863816735170415993084643602998674379016728456427708207501412641383454813580818815269532494553239168708938911573893152849/320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "575349126599542919894057132845" + }, + { + "gap": "769535277832254736206845260307877636625929131114403242362380720276688151887990930845361541322135713675237989007462171052067470421647590675749140006860004874864378644117079949553059264726289272147113542643139630514542463160290493281/64000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "249003459372181093823622006530189989" + }, + { + "gap": "233949202119754315498048391461215734466554730312915905308552475369461191692314856999497373785973786469174415953329390816526367982456944919690110817455799477677433908164973951751182713977149801892723547607304200819159076007215052459605713969562392195790301133129934968689/12800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "107765389591820574473400445708536466810850" + } + ], + "complex_status": "merged 2026-10-12; main's headline kappa 1517760977820331/10^18 is complex-bound with this b", + "complex_role": "merged" + } + } +} diff --git a/research/subspace16-r420-validation/linux-python312/bit-r420/replay/RESULT9.json b/research/subspace16-r420-validation/linux-python312/bit-r420/replay/RESULT9.json new file mode 100644 index 0000000000..cb88fd02f7 --- /dev/null +++ b/research/subspace16-r420-validation/linux-python312/bit-r420/replay/RESULT9.json @@ -0,0 +1,63 @@ +{ + "status": "PASS_NINE_STAGE_WHOLE_HOSTED_BIT_PRICE_AND_CITED_ASSEMBLY", + "R": 420, + "stages": 9, + "replicas": 32, + "bit_lower": "413456747036699736067/250000000000000000000000", + "bit_lower_decimal": "0.001653826988146798944268", + "next_grid_point_rejected": "1653826988146798944269/1000000000000000000000000", + "bit": { + "live": 30720, + "physical": 30729, + "maxchild": 42, + "rank_mass": 1956096, + "hosted_residuals": 120960, + "bank_assignments": 0, + "prefix_bits": 189, + "charged_prefix_bits": 192, + "coefficient_bits": 189, + "two_level_coefficient_bits": 416, + "charged_two_level_coefficient_bits": 512, + "row_coefficient": 18355, + "halving_depth": 2 + }, + "bit_profile": { + "1": 380160, + "2": 426624, + "4": 32640, + "5": 34560, + "6": 15360, + "7": 23040, + "8": 2592, + "42": 3456 + }, + "emitted_program_sha256": "2d219ab9a59aaf8f7163f28cac55a3d7a010dd9aa93ec53108491c1e5d434ab5", + "kappa": { + "pr535": { + "complex_lower": "1589991533606044174031/1000000000000000000000000", + "kappa": "793733736881443/500000000000000000", + "kappa_decimal": "0.001587467473762886", + "binding_component": "complex", + "strict_outer_constraints": 47, + "outer_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ] + }, + "pr531": { + "complex_lower": "304013615566499291631/200000000000000000000000", + "kappa": "1517760977820331/1000000000000000000", + "kappa_decimal": "0.001517760977820331", + "binding_component": "complex", + "strict_outer_constraints": 47, + "outer_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ] + } + } +} diff --git a/research/subspace16-r420-validation/linux-python312/bit-r420/replay/cout/columns.json b/research/subspace16-r420-validation/linux-python312/bit-r420/replay/cout/columns.json new file mode 100644 index 0000000000..ae7cdcb446 --- /dev/null +++ b/research/subspace16-r420-validation/linux-python312/bit-r420/replay/cout/columns.json @@ -0,0 +1,116 @@ +{ + "bridge_additions": 720, + "copied_center_original_source_immutable": true, + "five_stage_additions": 134580, + "formal_columns_checked": 900, + "fresh_center_copies": 45, + "global_live_registers": 900, + "independent_dirty_registers": 420, + "local_odd_scalar_additions": 26916, + "local_raw_H": [ + [ + 1, + 1320 + ], + [ + 2, + 1440 + ], + [ + 4, + 60 + ], + [ + 5, + 120 + ], + [ + 8, + 9 + ] + ], + "local_registers": 660, + "local_scalar_additions": 26916, + "local_scalar_stream": "/home/cfky/offload/subspace16-r420-20261012/output/bit-r420/replay/cout/COHORT249-RECORDS.bin", + "negative_controls": [ + { + "omit_bridge": 0, + "rejected": true + }, + { + "omit_bridge": 1, + "rejected": true + }, + { + "omit_bridge": 2, + "rejected": true + }, + { + "omit_bridge": 3, + "rejected": true + }, + { + "omit_bridge": 4, + "rejected": true + }, + { + "omit_bridge": 5, + "rejected": true + } + ], + "new_Q_categories": [ + 28, + 29 + ], + "payload_prefix_bits": 100, + "payload_prefix_upper": "998206739997057013039187410944", + "reverse_fresh_center_copies": 18, + "scope": "All independent physical input columns over F2, including all arbitrary helper dirt, restored; external copied-center work closes to zero. New cohort scalar lift uses actual signed coefficients and computed cancellation-free bounds; unchanged source527 signed decoder remains separate defining evidence. Physical projector routing and paid rank/bank receipts are independently bound, not inferred from scalar check.", + "seconds": 0.001381818, + "signed_lift_prefix": [ + { + "bits": 18, + "cancellation_free_signed_row_l1_upper": "144651", + "reverse": false + }, + { + "bits": 22, + "cancellation_free_signed_row_l1_upper": "2270064", + "reverse": true + } + ], + "signed_reverse_semantics": "Reverse ADD coefficient negated; reverse DISCARD is fresh COPY from recorded unchanged original center; reverse COPY is DISCARD. Each such block is inverse over every commutative coefficient ring, by elementary-shear induction.", + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": false, + "stage": 4 + } + ], + "status": "PASS_NEW_COHORT249_ALL_FIVE_STAGE_FORMAL_COLUMNS_AND_PREFIX_BILL" +} \ No newline at end of file diff --git a/research/subspace16-r420-validation/linux-python312/bit-r420/replay/cout/columns_k4.json b/research/subspace16-r420-validation/linux-python312/bit-r420/replay/cout/columns_k4.json new file mode 100644 index 0000000000..aaa36783c8 --- /dev/null +++ b/research/subspace16-r420-validation/linux-python312/bit-r420/replay/cout/columns_k4.json @@ -0,0 +1,188 @@ +{ + "bridge_additions": 2160, + "copied_center_original_source_immutable": true, + "formal_columns_checked": 1380, + "fresh_center_copies": 81, + "global_live_registers": 1380, + "independent_dirty_registers": 420, + "local_odd_scalar_additions": 26916, + "local_raw_H": [ + [ + 1, + 1320 + ], + [ + 2, + 1440 + ], + [ + 4, + 60 + ], + [ + 5, + 120 + ], + [ + 8, + 9 + ] + ], + "local_registers": 660, + "local_scalar_additions": 26916, + "local_scalar_stream": "/home/cfky/offload/subspace16-r420-20261012/output/bit-r420/replay/cout/COHORT249-RECORDS.bin", + "negative_controls": [ + { + "omit_bridge": 0, + "rejected": true + }, + { + "omit_bridge": 1, + "rejected": true + }, + { + "omit_bridge": 2, + "rejected": true + }, + { + "omit_bridge": 3, + "rejected": true + }, + { + "omit_bridge": 4, + "rejected": true + }, + { + "omit_bridge": 5, + "rejected": true + }, + { + "omit_bridge": 6, + "rejected": true + }, + { + "omit_bridge": 7, + "rejected": true + }, + { + "omit_bridge": 8, + "rejected": true + }, + { + "omit_bridge": 9, + "rejected": true + }, + { + "omit_bridge": 10, + "rejected": true + }, + { + "omit_bridge": 11, + "rejected": true + }, + { + "omit_bridge": 12, + "rejected": true + }, + { + "omit_bridge": 13, + "rejected": true + }, + { + "omit_bridge": 14, + "rejected": true + }, + { + "omit_bridge": 15, + "rejected": true + }, + { + "omit_bridge": 16, + "rejected": true + }, + { + "omit_bridge": 17, + "rejected": true + } + ], + "new_Q_categories": [ + 28, + 29 + ], + "payload_prefix_bits": 100, + "payload_prefix_upper": "998206739997057013039187410944", + "reverse_fresh_center_copies": 36, + "scope": "All independent physical input columns over F2, including all arbitrary helper dirt, restored; external copied-center work closes to zero. New cohort scalar lift uses actual signed coefficients and computed cancellation-free bounds; unchanged source527 signed decoder remains separate defining evidence. Physical projector routing and paid rank/bank receipts are independently bound, not inferred from scalar check.", + "seconds": 0.003461865, + "signed_lift_prefix": [ + { + "bits": 18, + "cancellation_free_signed_row_l1_upper": "144651", + "reverse": false + }, + { + "bits": 22, + "cancellation_free_signed_row_l1_upper": "2270064", + "reverse": true + } + ], + "signed_reverse_semantics": "Reverse ADD coefficient negated; reverse DISCARD is fresh COPY from recorded unchanged original center; reverse COPY is DISCARD. Each such block is inverse over every commutative coefficient ring, by elementary-shear induction.", + "stage_additions": 242244, + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": false, + "stage": 4 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": true, + "stage": 5 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": false, + "stage": 6 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": true, + "stage": 7 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": false, + "stage": 8 + } + ], + "status": "PASS_NEW_COHORT249_ALL_BRIDGED_STAGE_FORMAL_COLUMNS_AND_PREFIX_BILL" +} \ No newline at end of file diff --git a/research/subspace16-r420-validation/linux-python312/bit-r420/replay/cout/columns_k5.json b/research/subspace16-r420-validation/linux-python312/bit-r420/replay/cout/columns_k5.json new file mode 100644 index 0000000000..5ce38d60ae --- /dev/null +++ b/research/subspace16-r420-validation/linux-python312/bit-r420/replay/cout/columns_k5.json @@ -0,0 +1,224 @@ +{ + "bridge_additions": 2880, + "copied_center_original_source_immutable": true, + "formal_columns_checked": 1620, + "fresh_center_copies": 99, + "global_live_registers": 1620, + "independent_dirty_registers": 420, + "local_odd_scalar_additions": 26916, + "local_raw_H": [ + [ + 1, + 1320 + ], + [ + 2, + 1440 + ], + [ + 4, + 60 + ], + [ + 5, + 120 + ], + [ + 8, + 9 + ] + ], + "local_registers": 660, + "local_scalar_additions": 26916, + "local_scalar_stream": "/home/cfky/offload/subspace16-r420-20261012/output/bit-r420/replay/cout/COHORT249-RECORDS.bin", + "negative_controls": [ + { + "omit_bridge": 0, + "rejected": true + }, + { + "omit_bridge": 1, + "rejected": true + }, + { + "omit_bridge": 2, + "rejected": true + }, + { + "omit_bridge": 3, + "rejected": true + }, + { + "omit_bridge": 4, + "rejected": true + }, + { + "omit_bridge": 5, + "rejected": true + }, + { + "omit_bridge": 6, + "rejected": true + }, + { + "omit_bridge": 7, + "rejected": true + }, + { + "omit_bridge": 8, + "rejected": true + }, + { + "omit_bridge": 9, + "rejected": true + }, + { + "omit_bridge": 10, + "rejected": true + }, + { + "omit_bridge": 11, + "rejected": true + }, + { + "omit_bridge": 12, + "rejected": true + }, + { + "omit_bridge": 13, + "rejected": true + }, + { + "omit_bridge": 14, + "rejected": true + }, + { + "omit_bridge": 15, + "rejected": true + }, + { + "omit_bridge": 16, + "rejected": true + }, + { + "omit_bridge": 17, + "rejected": true + }, + { + "omit_bridge": 18, + "rejected": true + }, + { + "omit_bridge": 19, + "rejected": true + }, + { + "omit_bridge": 20, + "rejected": true + }, + { + "omit_bridge": 21, + "rejected": true + }, + { + "omit_bridge": 22, + "rejected": true + }, + { + "omit_bridge": 23, + "rejected": true + } + ], + "new_Q_categories": [ + 28, + 29 + ], + "payload_prefix_bits": 100, + "payload_prefix_upper": "998206739997057013039187410944", + "reverse_fresh_center_copies": 45, + "scope": "All independent physical input columns over F2, including all arbitrary helper dirt, restored; external copied-center work closes to zero. New cohort scalar lift uses actual signed coefficients and computed cancellation-free bounds; unchanged source527 signed decoder remains separate defining evidence. Physical projector routing and paid rank/bank receipts are independently bound, not inferred from scalar check.", + "seconds": 0.004589409, + "signed_lift_prefix": [ + { + "bits": 18, + "cancellation_free_signed_row_l1_upper": "144651", + "reverse": false + }, + { + "bits": 22, + "cancellation_free_signed_row_l1_upper": "2270064", + "reverse": true + } + ], + "signed_reverse_semantics": "Reverse ADD coefficient negated; reverse DISCARD is fresh COPY from recorded unchanged original center; reverse COPY is DISCARD. Each such block is inverse over every commutative coefficient ring, by elementary-shear induction.", + "stage_additions": 296076, + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": false, + "stage": 4 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": true, + "stage": 5 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": false, + "stage": 6 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": true, + "stage": 7 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": false, + "stage": 8 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": true, + "stage": 9 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": false, + "stage": 10 + } + ], + "status": "PASS_NEW_COHORT249_ALL_BRIDGED_STAGE_FORMAL_COLUMNS_AND_PREFIX_BILL" +} \ No newline at end of file diff --git a/research/subspace16-r420-validation/linux-python312/bit-r420/replay/cout/legality.json b/research/subspace16-r420-validation/linux-python312/bit-r420/replay/cout/legality.json new file mode 100644 index 0000000000..e84de250be --- /dev/null +++ b/research/subspace16-r420-validation/linux-python312/bit-r420/replay/cout/legality.json @@ -0,0 +1,42 @@ +{ + "all_final_frames_pass": true, + "common_frame_ADDs": 26916, + "containment_pairs_checked": 2460, + "copies": 9, + "donor_intersections": 0, + "erasures": 9, + "max_inherited_integer_abs": 2, + "nested_MOVEs": 2940, + "new_frame_ids_collision": false, + "nondegeneracy_checked_by_separate_exact_bank_audit": true, + "old_max_frame_id": 671, + "paid_histogram": [ + [ + 1, + 1320 + ], + [ + 2, + 1440 + ], + [ + 4, + 60 + ], + [ + 5, + 120 + ], + [ + 8, + 9 + ] + ], + "rank_mass": 5112, + "records": 29874, + "scope": "Independent chronological geometry/copy/source-owner audit. F2 all-column replay is in the separately freshly compiled transform receipt; address transform theorem and bank completion remain separate.", + "selected_helpers": 0, + "selected_pairs": 0, + "source_owner_intersections": 0, + "status": "PASS_INDEPENDENT_COHORT_LEGALITY_SOURCE_OWNERS_AND_LIFECYCLE" +} diff --git a/research/subspace16-r420-validation/linux-python312/bit-r420/replay/mutants.json b/research/subspace16-r420-validation/linux-python312/bit-r420/replay/mutants.json new file mode 100644 index 0000000000..b25c426e6b --- /dev/null +++ b/research/subspace16-r420-validation/linux-python312/bit-r420/replay/mutants.json @@ -0,0 +1,65 @@ +{ + "status": "PASS_INTERLEAVED_INTERFACE_MUTATION_CONTROLS", + "controls": [ + { + "control": "m1", + "mutation": "target feeds a source (cancelled pair, F2-neutral)", + "rejected": true, + "by": "interface: fails H1_no_target_feeds_z,H3_A_z_only_scatter_targets_B_split,H4_C_literal_reverse_at_full" + }, + { + "control": "m2", + "mutation": "target feeds a helper (cancelled pair, F2-neutral)", + "rejected": true, + "by": "interface: fails H1_no_target_feeds_z,H3_A_z_only_scatter_targets_B_split,H4_C_literal_reverse_at_full" + }, + { + "control": "m3", + "mutation": "drop a cleanup gate (inverse of the last phase-B source write)", + "rejected": true, + "by": "replay: sources not restored: [11, 41, 44, 83, 86]" + }, + { + "control": "m4", + "mutation": "corrupt a phase-B source write (operand 10 -> 6, cleanup changed alike)", + "rejected": true, + "by": "replay: targets not y + x: [0, 66, 67, 68, 69]" + }, + { + "control": "m5", + "mutation": "phase-B source write moved down to the destination's own line frame", + "rejected": true, + "by": "replay: climb not nested: register 5 from frame 123 (dim 2) to frame 7 (dim 1)" + }, + { + "control": "m6", + "mutation": "a target reads another target (single read, V != I)", + "rejected": true, + "by": "replay: targets not y + x: [0]" + }, + { + "control": "m7", + "mutation": "frame-0 preconditioner corrupted (one helper read dropped)", + "rejected": true, + "by": "replay: targets not y + x: [0]" + }, + { + "control": "m8", + "mutation": "phase-B source write moved before the target read of that register", + "rejected": true, + "by": "replay: climb not nested: register 5 from frame 542 (dim 4) to frame 123 (dim 2)" + }, + { + "control": "m9", + "mutation": "cleanup gate moved off the full frame (to the frame of the gate it inverts)", + "rejected": true, + "by": "replay: climb not nested: register 240 from frame 1 (dim 8) to frame 2 (dim 1)" + }, + { + "control": "positive", + "mutation": "cancelled pair of target-to-target reads at frame 0 (V = I)", + "rejected": false, + "by": "accepted" + } + ] +} \ No newline at end of file diff --git a/research/subspace16-r420-validation/linux-python312/bit-r420/replay/v9/hosted/AUDIT.json b/research/subspace16-r420-validation/linux-python312/bit-r420/replay/v9/hosted/AUDIT.json new file mode 100644 index 0000000000..6833ca5870 --- /dev/null +++ b/research/subspace16-r420-validation/linux-python312/bit-r420/replay/v9/hosted/AUDIT.json @@ -0,0 +1,41 @@ +{ + "status": "PASS_INDEPENDENT_REPLICATED_HOSTING_AUDIT", + "template_sha256": "63144473ac69d384968a6447b1effa26d820ce6b6d85dbc4ef4f63c7121547d9", + "emitted_program_sha256": "2d219ab9a59aaf8f7163f28cac55a3d7a010dd9aa93ec53108491c1e5d434ab5", + "emitted_events": 8603712, + "profile": { + "1": 380160, + "2": 426624, + "4": 32640, + "5": 34560, + "6": 15360, + "7": 23040, + "8": 2592, + "42": 3456 + }, + "live": 30720, + "physical": 30729, + "hosted_residuals": 120960, + "bank_assignments": 0, + "rank_mass": 1956096, + "deficit": 9984, + "maxchild": 42, + "mutations_rejected": [ + "slot outside window", + "copy index outside family", + "negative slot offset", + "wrong residual width", + "duplicate helper", + "omitted helper", + "hosted owner in another replica or outside the data stock", + "hosted owner on a wrong data family", + "wrong call orientation", + "duplicate call", + "changed idle rank", + "understated live stock", + "missing remainder summary", + "stale stage count", + "hosted coordinate beyond the pending set", + "overlapping hosted coordinates" + ] +} diff --git a/research/subspace16-r420-validation/linux-python312/bit-r420/replay/v9/hosted/GLOBAL-TEMPLATE.json.gz b/research/subspace16-r420-validation/linux-python312/bit-r420/replay/v9/hosted/GLOBAL-TEMPLATE.json.gz new file mode 100644 index 0000000000..6bd807a5b9 Binary files /dev/null and b/research/subspace16-r420-validation/linux-python312/bit-r420/replay/v9/hosted/GLOBAL-TEMPLATE.json.gz differ diff --git a/research/subspace16-r420-validation/linux-python312/bit-r420/replay/v9/nine/GEOMETRY.json b/research/subspace16-r420-validation/linux-python312/bit-r420/replay/v9/nine/GEOMETRY.json new file mode 100644 index 0000000000..cd55e7eb67 --- /dev/null +++ b/research/subspace16-r420-validation/linux-python312/bit-r420/replay/v9/nine/GEOMETRY.json @@ -0,0 +1,374726 @@ +{ + "status": "PASS_COMPRESSED_NINE_BIT_GEOMETRY_AND_BANK_BLOCKS", + "h": 8, + "m": 64, + "stages": 9, + "word_sha256": "1fb726ea3818fe0837cceb0dd22a71a0814f064e5e781628104610d6468e0e55", + "ports": [ + { + "port": 0, + "q": [ + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "complement_columns": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1", + "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", + "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", + "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", + "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", + "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", + "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", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ] + ] + } + ] + }, + { + "port": 1, + "q": [ + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "complement_columns": [ + [ + "1", + "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", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "-1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1", + "0" + ] + ], + "rho15": [ + [ + "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", + "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", + "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", + "-1" + ], + [ + "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", + "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", + "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", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "-1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 13, + 7, + null + ], + [ + "scale", + 7, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "scale", + 14, + null, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 13, + 7, + null + ], + [ + "scale", + 7, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "scale", + 14, + null, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 13, + 7, + null + ], + [ + "scale", + 7, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "scale", + 14, + null, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 13, + 7, + null + ], + [ + "scale", + 7, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "scale", + 14, + null, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 13, + 7, + null + ], + [ + "scale", + 7, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "scale", + 14, + null, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 13, + 7, + null + ], + [ + "scale", + 7, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "scale", + 14, + null, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 13, + 7, + null + ], + [ + "scale", + 7, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "scale", + 14, + null, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 13, + 7, + null + ], + [ + "scale", + 7, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "scale", + 14, + null, + "-1" + ] + ] + } + ] + }, + { + "port": 2, + "q": [ + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0 + ], + "complement_columns": [ + [ + "0", + "1", + "0", + "0", + "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", + "-1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "-1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "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", + "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", + "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", + "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", + "1" + ], + [ + "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", + "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", + "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", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 13, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 11, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 13, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 11, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 13, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 11, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 13, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 11, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 13, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 11, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 13, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 11, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 13, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 11, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 13, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 11, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + } + ] + }, + { + "port": 3, + "q": [ + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0 + ], + "complement_columns": [ + [ + "0", + "0", + "1", + "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", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "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", + "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", + "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" + ], + [ + "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", + "-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", + "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", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 10, + 0, + null + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 10, + 0, + null + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 10, + 0, + null + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 10, + 0, + null + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 10, + 0, + null + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 10, + 0, + null + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 10, + 0, + null + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 10, + 0, + null + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ] + ] + } + ] + }, + { + "port": 4, + "q": [ + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0 + ], + "complement_columns": [ + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "1", + "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", + "-1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "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" + ], + [ + "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", + "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", + "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", + "1" + ], + [ + "0", + "1", + "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", + "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", + "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", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 13, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 9, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 13, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 9, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 13, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 9, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 13, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 9, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 13, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 9, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 13, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 9, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 13, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 9, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 13, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 9, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + } + ] + }, + { + "port": 5, + "q": [ + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0 + ], + "complement_columns": [ + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "-1", + "0", + "0", + "0" + ], + [ + "0", + "1", + "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", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "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", + "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", + "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", + "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", + "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", + "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" + ], + [ + "1", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 12, + 0, + null + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 12, + 0, + null + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 12, + 0, + null + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 12, + 0, + null + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 12, + 0, + null + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 12, + 0, + null + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 12, + 0, + null + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 12, + 0, + null + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + } + ] + }, + { + "port": 6, + "q": [ + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0 + ], + "complement_columns": [ + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "-1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "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", + "1" + ] + ], + "rho15": [ + [ + "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", + "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" + ], + [ + "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", + "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", + "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", + "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", + "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", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 13, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 13, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 13, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 13, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 13, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 13, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 13, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 13, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + } + ] + }, + { + "port": 7, + "q": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2 + ], + "complement_columns": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "rho15": [ + [ + "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", + "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", + "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" + ], + [ + "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", + "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", + "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", + "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", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 14, + 0, + null + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 14, + 0, + null + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 14, + 0, + null + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 14, + 0, + null + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 14, + 0, + null + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 14, + 0, + null + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 14, + 0, + null + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 14, + 0, + null + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + } + ] + }, + { + "port": 8, + "q": [ + 0, + 1, + 1, + 0, + 1, + 0, + 0, + 1 + ], + "complement_columns": [ + [ + "1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "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", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 9, + "q": [ + 0, + 1, + 1, + 0, + 1, + 0, + 0, + -1 + ], + "complement_columns": [ + [ + "1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "-1/4", + "-1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "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", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 10, + "q": [ + 0, + 1, + 1, + 0, + -1, + 0, + 0, + 1 + ], + "complement_columns": [ + [ + "1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "1/4", + "1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "0", + "1/4", + "1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "-1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "1/4", + "1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 11, + "q": [ + 0, + 1, + 1, + 0, + -1, + 0, + 0, + -1 + ], + "complement_columns": [ + [ + "1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "1/4", + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "0", + "1/4", + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "-1/4", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 12, + "q": [ + 0, + 1, + -1, + 0, + 1, + 0, + 0, + 1 + ], + "complement_columns": [ + [ + "-1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 13, + "q": [ + 0, + 1, + -1, + 0, + 1, + 0, + 0, + -1 + ], + "complement_columns": [ + [ + "-1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 14, + "q": [ + 0, + 1, + -1, + 0, + -1, + 0, + 0, + 1 + ], + "complement_columns": [ + [ + "-1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "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", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 15, + "q": [ + 0, + 1, + -1, + 0, + -1, + 0, + 0, + -1 + ], + "complement_columns": [ + [ + "-1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "-1/4", + "0", + "0", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "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", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 16, + "q": [ + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0 + ], + "complement_columns": [ + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "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" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "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", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 17, + "q": [ + 1, + 0, + 1, + 0, + 1, + 0, + -1, + 0 + ], + "complement_columns": [ + [ + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "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" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "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", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 18, + "q": [ + 1, + 0, + 1, + 0, + -1, + 0, + 1, + 0 + ], + "complement_columns": [ + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "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" + ], + [ + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 19, + "q": [ + 1, + 0, + 1, + 0, + -1, + 0, + -1, + 0 + ], + "complement_columns": [ + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "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" + ], + [ + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 20, + "q": [ + 1, + 0, + -1, + 0, + 1, + 0, + 1, + 0 + ], + "complement_columns": [ + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "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" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 21, + "q": [ + 1, + 0, + -1, + 0, + 1, + 0, + -1, + 0 + ], + "complement_columns": [ + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "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" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 22, + "q": [ + 1, + 0, + -1, + 0, + -1, + 0, + 1, + 0 + ], + "complement_columns": [ + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "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" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "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", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 23, + "q": [ + 1, + 0, + -1, + 0, + -1, + 0, + -1, + 0 + ], + "complement_columns": [ + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "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" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "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", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 24, + "q": [ + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 1 + ], + "complement_columns": [ + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "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", + "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/4", + "1/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 25, + "q": [ + 1, + 1, + 0, + 0, + 0, + 0, + 1, + -1 + ], + "complement_columns": [ + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "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", + "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/4", + "1/4", + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "-1/4", + "-1/4", + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 26, + "q": [ + 1, + 1, + 0, + 0, + 0, + 0, + -1, + 1 + ], + "complement_columns": [ + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "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", + "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/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 27, + "q": [ + 1, + 1, + 0, + 0, + 0, + 0, + -1, + -1 + ], + "complement_columns": [ + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/4", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/4", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "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", + "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/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "-1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 28, + "q": [ + 1, + -1, + 0, + 0, + 0, + 0, + 1, + 1 + ], + "complement_columns": [ + [ + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/4", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "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", + "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/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 29, + "q": [ + 1, + -1, + 0, + 0, + 0, + 0, + 1, + -1 + ], + "complement_columns": [ + [ + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "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", + "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/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 30, + "q": [ + 1, + -1, + 0, + 0, + 0, + 0, + -1, + 1 + ], + "complement_columns": [ + [ + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "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", + "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/4", + "1/4", + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 31, + "q": [ + 1, + -1, + 0, + 0, + 0, + 0, + -1, + -1 + ], + "complement_columns": [ + [ + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "-1/4", + "-1/4", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "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", + "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/4", + "1/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 32, + "q": [ + 1, + 1, + 0, + 0, + 1, + 1, + 0, + 0 + ], + "complement_columns": [ + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "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", + "0", + "0" + ], + [ + "1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "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" + ], + [ + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + } + ] + }, + { + "port": 33, + "q": [ + 1, + 1, + 0, + 0, + 1, + -1, + 0, + 0 + ], + "complement_columns": [ + [ + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "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", + "0", + "0" + ], + [ + "1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "-1/4", + "-1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "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" + ], + [ + "1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + } + ] + }, + { + "port": 34, + "q": [ + 1, + 1, + 0, + 0, + -1, + 1, + 0, + 0 + ], + "complement_columns": [ + [ + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "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", + "0", + "0" + ], + [ + "-1/4", + "-1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "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" + ], + [ + "1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + } + ] + }, + { + "port": 35, + "q": [ + 1, + 1, + 0, + 0, + -1, + -1, + 0, + 0 + ], + "complement_columns": [ + [ + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "1/4", + "1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "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", + "0", + "0" + ], + [ + "-1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "-1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "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" + ], + [ + "1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + } + ] + }, + { + "port": 36, + "q": [ + 1, + -1, + 0, + 0, + 1, + 1, + 0, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "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", + "0", + "0" + ], + [ + "1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "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" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + } + ] + }, + { + "port": 37, + "q": [ + 1, + -1, + 0, + 0, + 1, + -1, + 0, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "-1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "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", + "0", + "0" + ], + [ + "1/4", + "-1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "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" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + } + ] + }, + { + "port": 38, + "q": [ + 1, + -1, + 0, + 0, + -1, + 1, + 0, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "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", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "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" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + } + ] + }, + { + "port": 39, + "q": [ + 1, + -1, + 0, + 0, + -1, + -1, + 0, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "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", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "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" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + } + ] + }, + { + "port": 40, + "q": [ + 1, + 0, + 1, + 0, + 0, + 1, + 0, + 1 + ], + "complement_columns": [ + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "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", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 41, + "q": [ + 1, + 0, + 1, + 0, + 0, + 1, + 0, + -1 + ], + "complement_columns": [ + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "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", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "-1/4", + "0", + "-1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 42, + "q": [ + 1, + 0, + 1, + 0, + 0, + -1, + 0, + 1 + ], + "complement_columns": [ + [ + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "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", + "0" + ], + [ + "-1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 43, + "q": [ + 1, + 0, + 1, + 0, + 0, + -1, + 0, + -1 + ], + "complement_columns": [ + [ + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "-1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "-1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "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", + "0" + ], + [ + "-1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "-1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 44, + "q": [ + 1, + 0, + -1, + 0, + 0, + 1, + 0, + 1 + ], + "complement_columns": [ + [ + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "-1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "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", + "0" + ], + [ + "1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 45, + "q": [ + 1, + 0, + -1, + 0, + 0, + 1, + 0, + -1 + ], + "complement_columns": [ + [ + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "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", + "0" + ], + [ + "1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 46, + "q": [ + 1, + 0, + -1, + 0, + 0, + -1, + 0, + 1 + ], + "complement_columns": [ + [ + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "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", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 47, + "q": [ + 1, + 0, + -1, + 0, + 0, + -1, + 0, + -1 + ], + "complement_columns": [ + [ + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/4", + "0", + "-1/4", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "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", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 48, + "q": [ + 0, + 1, + 1, + 0, + 0, + 1, + 1, + 0 + ], + "complement_columns": [ + [ + "1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 49, + "q": [ + 0, + 1, + 1, + 0, + 0, + 1, + -1, + 0 + ], + "complement_columns": [ + [ + "1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "-1/4", + "-1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 50, + "q": [ + 0, + 1, + 1, + 0, + 0, + -1, + 1, + 0 + ], + "complement_columns": [ + [ + "1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 51, + "q": [ + 0, + 1, + 1, + 0, + 0, + -1, + -1, + 0 + ], + "complement_columns": [ + [ + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 52, + "q": [ + 0, + 1, + -1, + 0, + 0, + 1, + 1, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 53, + "q": [ + 0, + 1, + -1, + 0, + 0, + 1, + -1, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 54, + "q": [ + 0, + 1, + -1, + 0, + 0, + -1, + 1, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 55, + "q": [ + 0, + 1, + -1, + 0, + 0, + -1, + -1, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 56, + "q": [ + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ], + "complement_columns": [ + [ + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "1/2" + ], + [ + "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/2", + "1/2", + "-1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "1/4", + "1/4", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "1/4", + "1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "1/4", + "1/4", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "1/4", + "1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 57, + "q": [ + 0, + 0, + 0, + 0, + 1, + 1, + 1, + -1 + ], + "complement_columns": [ + [ + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "-1/2" + ], + [ + "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/2", + "1/2", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "1/4", + "-1/4", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "1/4", + "-1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "1/4", + "-1/4", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "-1/4", + "-1/4", + "1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 58, + "q": [ + 0, + 0, + 0, + 0, + 1, + 1, + -1, + 1 + ], + "complement_columns": [ + [ + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "1/2" + ], + [ + "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/2", + "1/2", + "1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "-1/4", + "1/4", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "-1/4", + "1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "-1/4", + "1/4", + "-1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "-1/4", + "1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 59, + "q": [ + 0, + 0, + 0, + 0, + 1, + 1, + -1, + -1 + ], + "complement_columns": [ + [ + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "-1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "-1/2" + ], + [ + "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/2", + "1/2", + "1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "-1/4", + "-1/4", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "-1/4", + "-1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "-1/4", + "1/4", + "1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "-1/4", + "1/4", + "1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 60, + "q": [ + 0, + 0, + 0, + 0, + 1, + -1, + 1, + 1 + ], + "complement_columns": [ + [ + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "1/2" + ], + [ + "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/2", + "-1/2", + "-1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "1/4", + "1/4", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "-1/4", + "-1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "1/4", + "1/4", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "1/4", + "1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 61, + "q": [ + 0, + 0, + 0, + 0, + 1, + -1, + 1, + -1 + ], + "complement_columns": [ + [ + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "-1/2" + ], + [ + "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/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "1/4", + "-1/4", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "-1/4", + "1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "1/4", + "-1/4", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "-1/4", + "1/4", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 62, + "q": [ + 0, + 0, + 0, + 0, + 1, + -1, + -1, + 1 + ], + "complement_columns": [ + [ + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "1/2" + ], + [ + "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/2", + "-1/2", + "1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "-1/4", + "1/4", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "1/4", + "-1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "1/4", + "-1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "-1/4", + "1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 63, + "q": [ + 0, + 0, + 0, + 0, + 1, + -1, + -1, + -1 + ], + "complement_columns": [ + [ + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "-1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "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/2", + "-1/2", + "1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "-1/4", + "-1/4", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "1/4", + "1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "1/4", + "1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "1/4", + "1/4", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 64, + "q": [ + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0 + ], + "complement_columns": [ + [ + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "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" + ], + [ + "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" + ], + [ + "1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "-1/2", + "1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + } + ] + }, + { + "port": 65, + "q": [ + 1, + 1, + 1, + -1, + 0, + 0, + 0, + 0 + ], + "complement_columns": [ + [ + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "-1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "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" + ], + [ + "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" + ], + [ + "1/2", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "1/2", + "1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + } + ] + }, + { + "port": 66, + "q": [ + 1, + 1, + -1, + 1, + 0, + 0, + 0, + 0 + ], + "complement_columns": [ + [ + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "-1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "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" + ], + [ + "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" + ], + [ + "1/2", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "1/2", + "1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + } + ] + }, + { + "port": 67, + "q": [ + 1, + 1, + -1, + -1, + 0, + 0, + 0, + 0 + ], + "complement_columns": [ + [ + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "1/4", + "-1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "1/4", + "-1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "-1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "-1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "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" + ], + [ + "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" + ], + [ + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "-1/2", + "1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + } + ] + }, + { + "port": 68, + "q": [ + 1, + -1, + 1, + 1, + 0, + 0, + 0, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "-1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "-1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "-1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "-1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "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" + ], + [ + "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" + ], + [ + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "-1/2", + "1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + } + ] + }, + { + "port": 69, + "q": [ + 1, + -1, + 1, + -1, + 0, + 0, + 0, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "-1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "-1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "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" + ], + [ + "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" + ], + [ + "-1/2", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "1/2", + "1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + } + ] + }, + { + "port": 70, + "q": [ + 1, + -1, + -1, + 1, + 0, + 0, + 0, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "-1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "-1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "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" + ], + [ + "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" + ], + [ + "-1/2", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + } + ] + }, + { + "port": 71, + "q": [ + 1, + -1, + -1, + -1, + 0, + 0, + 0, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "-1/4", + "-1/4", + "-1/4", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "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" + ], + [ + "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" + ], + [ + "-1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + } + ] + }, + { + "port": 72, + "q": [ + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 1 + ], + "complement_columns": [ + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "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", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "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" + ], + [ + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "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" + ], + [ + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 73, + "q": [ + 1, + 0, + 0, + 1, + 1, + 0, + 0, + -1 + ], + "complement_columns": [ + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "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", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "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" + ], + [ + "-1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "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" + ], + [ + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 74, + "q": [ + 1, + 0, + 0, + 1, + -1, + 0, + 0, + 1 + ], + "complement_columns": [ + [ + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "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", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "-1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "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" + ], + [ + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "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" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 75, + "q": [ + 1, + 0, + 0, + 1, + -1, + 0, + 0, + -1 + ], + "complement_columns": [ + [ + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "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", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "-1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "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" + ], + [ + "-1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "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" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 76, + "q": [ + 1, + 0, + 0, + -1, + 1, + 0, + 0, + 1 + ], + "complement_columns": [ + [ + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "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", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "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" + ], + [ + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "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" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 77, + "q": [ + 1, + 0, + 0, + -1, + 1, + 0, + 0, + -1 + ], + "complement_columns": [ + [ + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/4", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "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", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "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" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "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" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 78, + "q": [ + 1, + 0, + 0, + -1, + -1, + 0, + 0, + 1 + ], + "complement_columns": [ + [ + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/4", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "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", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "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" + ], + [ + "1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "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" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 79, + "q": [ + 1, + 0, + 0, + -1, + -1, + 0, + 0, + -1 + ], + "complement_columns": [ + [ + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "-1/4", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "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", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "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" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "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" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 80, + "q": [ + 0, + 1, + 0, + 1, + 1, + 0, + 1, + 0 + ], + "complement_columns": [ + [ + "1/2", + "0", + "1/2", + "1/2", + "0", + "1/2", + "0" + ], + [ + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "1/2", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 81, + "q": [ + 0, + 1, + 0, + 1, + 1, + 0, + -1, + 0 + ], + "complement_columns": [ + [ + "1/2", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "-1/4", + "0", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "-1/4", + "0", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "-1/4", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "1/2", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 82, + "q": [ + 0, + 1, + 0, + 1, + -1, + 0, + 1, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "-1/4", + "0", + "1/4", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "-1/4", + "0", + "1/4", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "-1/4", + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "-1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 83, + "q": [ + 0, + 1, + 0, + 1, + -1, + 0, + -1, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "0" + ], + [ + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "-1/4", + "0", + "-1/4", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "-1/4", + "0", + "-1/4", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "-1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "-1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "-1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 84, + "q": [ + 0, + 1, + 0, + -1, + 1, + 0, + 1, + 0 + ], + "complement_columns": [ + [ + "1/2", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "1/4", + "0", + "1/4", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "-1/4", + "0", + "-1/4", + "0", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 85, + "q": [ + 0, + 1, + 0, + -1, + 1, + 0, + -1, + 0 + ], + "complement_columns": [ + [ + "1/2", + "0", + "-1/2", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "1/4", + "0", + "-1/4", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "-1/4", + "0", + "1/4", + "0", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 86, + "q": [ + 0, + 1, + 0, + -1, + -1, + 0, + 1, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "-1/4", + "0", + "1/4", + "0", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "1/4", + "0", + "-1/4", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "-1/2", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 87, + "q": [ + 0, + 1, + 0, + -1, + -1, + 0, + -1, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "0", + "1/2", + "1/2", + "0", + "1/2", + "0" + ], + [ + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "-1/4", + "0", + "-1/4", + "0", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "-1/2", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 88, + "q": [ + 0, + 0, + 1, + 1, + 0, + 0, + 1, + 1 + ], + "complement_columns": [ + [ + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 89, + "q": [ + 0, + 0, + 1, + 1, + 0, + 0, + 1, + -1 + ], + "complement_columns": [ + [ + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 90, + "q": [ + 0, + 0, + 1, + 1, + 0, + 0, + -1, + 1 + ], + "complement_columns": [ + [ + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 91, + "q": [ + 0, + 0, + 1, + 1, + 0, + 0, + -1, + -1 + ], + "complement_columns": [ + [ + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 92, + "q": [ + 0, + 0, + 1, + -1, + 0, + 0, + 1, + 1 + ], + "complement_columns": [ + [ + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 93, + "q": [ + 0, + 0, + 1, + -1, + 0, + 0, + 1, + -1 + ], + "complement_columns": [ + [ + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 94, + "q": [ + 0, + 0, + 1, + -1, + 0, + 0, + -1, + 1 + ], + "complement_columns": [ + [ + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 95, + "q": [ + 0, + 0, + 1, + -1, + 0, + 0, + -1, + -1 + ], + "complement_columns": [ + [ + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 96, + "q": [ + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0 + ], + "complement_columns": [ + [ + "0", + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "1/2", + "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" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 97, + "q": [ + 0, + 0, + 1, + 1, + 1, + -1, + 0, + 0 + ], + "complement_columns": [ + [ + "0", + "1/2", + "1/2", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "-1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "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" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 98, + "q": [ + 0, + 0, + 1, + 1, + -1, + 1, + 0, + 0 + ], + "complement_columns": [ + [ + "0", + "1/2", + "1/2", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "-1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "1/2", + "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" + ], + [ + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 99, + "q": [ + 0, + 0, + 1, + 1, + -1, + -1, + 0, + 0 + ], + "complement_columns": [ + [ + "0", + "1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "-1/4", + "-1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "-1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "-1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "-1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "-1/2", + "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" + ], + [ + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 100, + "q": [ + 0, + 0, + 1, + -1, + 1, + 1, + 0, + 0 + ], + "complement_columns": [ + [ + "0", + "1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "-1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "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" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 101, + "q": [ + 0, + 0, + 1, + -1, + 1, + -1, + 0, + 0 + ], + "complement_columns": [ + [ + "0", + "1/2", + "-1/2", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "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" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 102, + "q": [ + 0, + 0, + 1, + -1, + -1, + 1, + 0, + 0 + ], + "complement_columns": [ + [ + "0", + "1/2", + "-1/2", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "-1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "1/2", + "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" + ], + [ + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 103, + "q": [ + 0, + 0, + 1, + -1, + -1, + -1, + 0, + 0 + ], + "complement_columns": [ + [ + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "-1/2", + "-1/2", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "-1/4", + "-1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "-1/2", + "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" + ], + [ + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 104, + "q": [ + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1 + ], + "complement_columns": [ + [ + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "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", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 105, + "q": [ + 0, + 1, + 0, + 1, + 0, + 1, + 0, + -1 + ], + "complement_columns": [ + [ + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "-1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "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", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 106, + "q": [ + 0, + 1, + 0, + 1, + 0, + -1, + 0, + 1 + ], + "complement_columns": [ + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "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", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 107, + "q": [ + 0, + 1, + 0, + 1, + 0, + -1, + 0, + -1 + ], + "complement_columns": [ + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "-1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "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", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 108, + "q": [ + 0, + 1, + 0, + -1, + 0, + 1, + 0, + 1 + ], + "complement_columns": [ + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "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", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 109, + "q": [ + 0, + 1, + 0, + -1, + 0, + 1, + 0, + -1 + ], + "complement_columns": [ + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "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", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 110, + "q": [ + 0, + 1, + 0, + -1, + 0, + -1, + 0, + 1 + ], + "complement_columns": [ + [ + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "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", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 111, + "q": [ + 0, + 1, + 0, + -1, + 0, + -1, + 0, + -1 + ], + "complement_columns": [ + [ + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "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", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 112, + "q": [ + 1, + 0, + 0, + 1, + 0, + 1, + 1, + 0 + ], + "complement_columns": [ + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "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", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "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", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "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", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 113, + "q": [ + 1, + 0, + 0, + 1, + 0, + 1, + -1, + 0 + ], + "complement_columns": [ + [ + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "-1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "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", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "-1/4", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "-1/4", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "-1/4", + "0", + "0", + "-1/4", + "0", + "-1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "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", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "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", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 114, + "q": [ + 1, + 0, + 0, + 1, + 0, + -1, + 1, + 0 + ], + "complement_columns": [ + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "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", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "-1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "1/4", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "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", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "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", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 115, + "q": [ + 1, + 0, + 0, + 1, + 0, + -1, + -1, + 0 + ], + "complement_columns": [ + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "-1/4", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "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", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "-1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "-1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "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", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "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", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 116, + "q": [ + 1, + 0, + 0, + -1, + 0, + 1, + 1, + 0 + ], + "complement_columns": [ + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "1/4", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "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", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "-1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "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", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "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", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 117, + "q": [ + 1, + 0, + 0, + -1, + 0, + 1, + -1, + 0 + ], + "complement_columns": [ + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "-1/4", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "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", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "-1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "1/4", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "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", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "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", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 118, + "q": [ + 1, + 0, + 0, + -1, + 0, + -1, + 1, + 0 + ], + "complement_columns": [ + [ + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "-1/4", + "0", + "-1/4", + "1/4", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "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", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "-1/4", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "-1/4", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "1/4", + "0", + "0", + "-1/4", + "0", + "-1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "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", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "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", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 119, + "q": [ + 1, + 0, + 0, + -1, + 0, + -1, + -1, + 0 + ], + "complement_columns": [ + [ + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "-1/4", + "0", + "-1/4", + "-1/4", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "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", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "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", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "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", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + } + ] + } + ], + "idle_per_port_and_data_member": [ + { + "pair": 1, + "source_level": -1, + "target_level": 1, + "rank": 14, + "phase": "before_positive_bridge" + }, + { + "pair": 1, + "source_level": 1, + "target_level": 2, + "rank": 7, + "phase": "before_negative_bridge" + }, + { + "pair": 2, + "source_level": -1, + "target_level": 3, + "rank": 28, + "phase": "before_positive_bridge" + }, + { + "pair": 2, + "source_level": 3, + "target_level": 4, + "rank": 7, + "phase": "before_negative_bridge" + }, + { + "pair": 3, + "source_level": -1, + "target_level": 5, + "rank": 42, + "phase": "before_positive_bridge" + }, + { + "pair": 3, + "source_level": 5, + "target_level": 6, + "rank": 7, + "phase": "before_negative_bridge" + }, + { + "pair": 0, + "source_level": 2, + "target_level": 8, + "rank": 42, + "phase": "terminal" + }, + { + "pair": 1, + "source_level": 4, + "target_level": 8, + "rank": 28, + "phase": "terminal" + }, + { + "pair": 2, + "source_level": 6, + "target_level": 8, + "rank": 14, + "phase": "terminal" + }, + { + "pair": 3, + "source_level": 8, + "target_level": 8, + "rank": 0, + "phase": "terminal" + } + ], + "local_window": "U direct_sum E_s, with E_s the first s exterior coordinate 7-blocks", + "ambient_form": "I_64/2", + "bank_slots": [ + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + [ + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15 + ], + [ + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23 + ], + [ + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31 + ], + [ + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 + ], + [ + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ], + [ + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55 + ], + [ + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ] + ], + "bank_permutations": [ + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + [ + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + [ + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + [ + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + [ + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + [ + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + [ + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + [ + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ] + ], + "route_checks": 1080, + "exact_bit_endpoint_operator_checks": 240, + "max_route_factors": 77, + "route_denominators": [ + 1, + 2, + 4 + ], + "bad_prime_factors": [ + 2 + ], + "missing_route_factor_controls": 120, + "duplicate_bank_slot_rejected": true, + "scope": "All port isometries, stage boundary identities, nested idle ranks, exact bit endpoint operators and bank coordinate slots. Full local-word scalar and chronological lowering are checked separately.", + "seconds": 2.1484170469921082 +} diff --git a/research/subspace16-r420-validation/linux-python312/bit-r420/replay/xcheck.json b/research/subspace16-r420-validation/linux-python312/bit-r420/replay/xcheck.json new file mode 100644 index 0000000000..9937764a51 --- /dev/null +++ b/research/subspace16-r420-validation/linux-python312/bit-r420/replay/xcheck.json @@ -0,0 +1,47 @@ +{ + "status": "PASS_EXACT_REPLAY_AND_INTERLEAVED_INTERFACE", + "hypotheses": { + "H1_no_target_feeds_z": true, + "H2_D_frame0_targets_from_helpers": true, + "H3_A_z_only_scatter_targets_B_split": true, + "H4_C_literal_reverse_at_full": true, + "H5_V_identity": true + }, + "conclusion": { + "U_block_form": true, + "J_identity": true, + "K_equals_D": true, + "C_is_U_inverse": true + }, + "interleaving": { + "z_gates_A": 2064, + "source_writes_A": 0, + "z_gates_B": 597, + "source_writes_B": 597, + "helper_writes_B": 0, + "sources_rewritten_B": 120, + "B_z_write_frame_dims": { + "4": 477, + "6": 120 + }, + "B_z_operand_kinds": { + "source<-helper": 120, + "source<-source": 477 + }, + "B_z_operand_kinds_by_dim": { + "dim4:source<-source": 477, + "dim6:source<-helper": 120 + }, + "B_z_writes_after_a_target_read_of_the_same_register": 597, + "B_target_reads_of_registers_rewritten_earlier_in_B": 120, + "target_reads_of_targets": 0, + "cleanup_gates": 2661 + }, + "gates": { + "D": 120, + "A": 2064, + "B": 837, + "C": 2661 + }, + "columns": 660 +} \ No newline at end of file diff --git a/research/subspace16-r420-validation/linux-python312/complex-audit/ASYNC-AUDIT.json b/research/subspace16-r420-validation/linux-python312/complex-audit/ASYNC-AUDIT.json new file mode 100644 index 0000000000..eea3588698 --- /dev/null +++ b/research/subspace16-r420-validation/linux-python312/complex-audit/ASYNC-AUDIT.json @@ -0,0 +1,47 @@ +{ + "status": "PASS_INDEPENDENT_ASYNC_WHOLE_OWNER_CONTROLLER_PHASES_AND_SPECTATORS", + "template_sha256": "8cea2b4ff1b53c4930d758dbc6d9ba701a543599c450af4d0b4110c358be4e08", + "complex_template_sha256": "8cea2b4ff1b53c4930d758dbc6d9ba701a543599c450af4d0b4110c358be4e08", + "complex_live": 7168, + "complex_profile": { + "1": 165600, + "2": 32128, + "3": 35907, + "4": 13248, + "5": 4032, + "6": 4032, + "7": 208, + "8": 576, + "39": 1, + "48": 1660 + }, + "complex_hosted_residuals": 36288, + "physical": 7682, + "rank_mass": 520704, + "deficit": 2560, + "entering_helper_roles": 15264, + "cross_replica_helper_roles": 28243, + "one_owner_per_complete_invocation": true, + "helper_busy_family_window_checks": 36288, + "complete_invocations": 72, + "actual_orthogonal_73column_maps": 2972, + "actual_sigma_stream_sha256": "8298988ef1499bdb213d932b42a10312ef3184a93558feb4e1b1a91bed68b8b9", + "all_actual_residual_and_spectator_charts": true, + "idle_remainders": 4240, + "mutations_rejected": [ + "alias two whole owners", + "helper on active data family", + "owner in private namespace", + "wrong residual width", + "wrong spectator coordinate", + "omit idle remainder", + "understate physical reserve" + ], + "mutation_controls_run": true, + "widths": { + "5": 56, + "8": 156, + "9": 292 + }, + "scope": "Independent exact asynchronous chronology, per-replica phase projection, owner/chart/paid-profile audit. Uses the new selected local program bound by fresh scalar, phase and residual-wrapper receipts; all-size compilation and complete coefficient invoice are separate inherited obligations." +} diff --git a/research/subspace16-r420-validation/linux-python312/complex-audit/OWNERS-AND-PROFILE.json b/research/subspace16-r420-validation/linux-python312/complex-audit/OWNERS-AND-PROFILE.json new file mode 100644 index 0000000000..79a1a0364c --- /dev/null +++ b/research/subspace16-r420-validation/linux-python312/complex-audit/OWNERS-AND-PROFILE.json @@ -0,0 +1,40 @@ +{ + "status": "PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE", + "template_sha256": "8cea2b4ff1b53c4930d758dbc6d9ba701a543599c450af4d0b4110c358be4e08", + "paid_profile": { + "1": 165600, + "2": 32128, + "3": 35907, + "4": 13248, + "5": 4032, + "6": 4032, + "7": 208, + "8": 576, + "39": 1, + "48": 1660 + }, + "live": 7168, + "physical": 7682, + "rank_mass": 520704, + "deficit": 2560, + "hosted_residuals": 36288, + "banked_residuals": 0, + "all_live_owners_per_call_distinct": true, + "owners_per_call": 728, + "actual_helper_owner_charts": 36288, + "actual_73column_sigmas": 2972, + "cross_replica_helper_roles": 28243, + "explicit_idle_remainder_children": 4240, + "source_idle_children_charged": 16128, + "source_artifacts": { + "split-centres/CANONICAL-WORD.json.gz": "2c1ae483355a8a91057c08b2faf537cc1842f7fc1fa7a4c12b3aebf4ed8a8ba3", + "split-centres/LOCAL-PROGRAMS.json.gz": "8c4f7b39c473de286bfa8cc66ff8e054410bb14e5efa2e50f75fc48b928859b4", + "split-centres/LOCAL-CHECKS.json": "e1cec31f77872c4b464f48f60c8d6c98776c8df24787d60056d7284c9a124858", + "split-centres/RESIDUAL-ADAPTERS.json": "e4fce8ca73ad20a86711837dd6fe1efad5a335689352791a635969e4d1be4391", + "split-centres/CLIFFORD-RECIPES.json": "01b96cacdeca5771257cfbe7f6ca96c9c38a7ccb06487211837d0ec14c1eec50", + "split-centres/CLIFFORD-REVIEW.json": "ba0f6c3573d77795b563b429e52b3a6ec51ddfc6f0fd47ca74cd76dba433770f", + "split-centres/INDEPENDENT-LOCAL-REPLAY.json": "6690e3728e84c029b0b10735a55c07d1a60cf675c973d5973dcc669e90f39f42", + "work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa" + }, + "controller_audit_sha256": "1b24ed8decf1bc8a5088262817087102a7f22b25a792203613ff4420fb3cdcb3" +} diff --git a/research/subspace16-r420-validation/linux-python312/complex-audit/PREFIX-AND-INVOICE.json b/research/subspace16-r420-validation/linux-python312/complex-audit/PREFIX-AND-INVOICE.json new file mode 100644 index 0000000000..84d363a1aa --- /dev/null +++ b/research/subspace16-r420-validation/linux-python312/complex-audit/PREFIX-AND-INVOICE.json @@ -0,0 +1,106 @@ +{ + "status": "PASS_INDEPENDENT_ASYNC_SCALAR_PREFIX_AND_FINITE_INVOICE", + "template_sha256": "8cea2b4ff1b53c4930d758dbc6d9ba701a543599c450af4d0b4110c358be4e08", + "parent_template_sha256": "adf67017b7a737447a657da90a8638309420a2d97691186ffca33313389ea1a8", + "owner_audit_sha256": "c0a5ed304f9edee7bae62483c44e79713d8cb3ad2bb678aa017780fa2ff8641b", + "controller_audit_sha256": "1b24ed8decf1bc8a5088262817087102a7f22b25a792203613ff4420fb3cdcb3", + "independent_local_replay_sha256": "6690e3728e84c029b0b10735a55c07d1a60cf675c973d5973dcc669e90f39f42", + "canonical_word_sha256": "2c1ae483355a8a91057c08b2faf537cc1842f7fc1fa7a4c12b3aebf4ed8a8ba3", + "local_programs_sha256": "8c4f7b39c473de286bfa8cc66ff8e054410bb14e5efa2e50f75fc48b928859b4", + "local_checks_sha256": "e1cec31f77872c4b464f48f60c8d6c98776c8df24787d60056d7284c9a124858", + "global_prefix_bits": 218, + "charged_prefix_bits": 512, + "complete_invocation_sweeps": 72, + "bridge_sweeps": 72, + "row_prefix_extra": 1024, + "local": { + "backward": { + "events": 21631, + "macros": 16438, + "real_component_primitives": 164628, + "prefix_l1": "6920533000", + "prefix_bits": 33, + "coefficient_work_primitive_count": 81570, + "all_exact_columns": 728, + "dirty_helper_columns": 504, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 212, + "post_wrappers": 212, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 21631, + "macros": 16438, + "real_component_primitives": 164580, + "prefix_l1": "454080482", + "prefix_bits": 29, + "coefficient_work_primitive_count": 81538, + "all_exact_columns": 728, + "dirty_helper_columns": 504, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 212, + "post_wrappers": 212, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 504, + "centres": 8, + "live": 7168, + "physical": 7682, + "physical_stock_identity": { + "data_and_owner_families": 7168, + "local_helpers": 504, + "private_centres": 8, + "coefficient_work": 2 + }, + "entering_helpers": 212, + "entrance_rank": 380, + "width_inventory": { + "5": 56, + "8": 156, + "9": 292 + }, + "local_adapters": 335712, + "local_primitive_bound": 8706467971860, + "wrapper_elementary_factors_charged": 4396032, + "factors_per_wrapper": 144, + "compiler": 25934336, + "unhosted_pervertex": 1578975751961432, + "hosted_rebased_pervertex": 1578975751662056, + "conservative_pervertex_used": 3095267595574232, + "retained_prior_overcharge": { + "sha256": "bb43ef04791037a37d2596c395e81191991fde6581326118995cf4318ee472a3", + "previous_pervertex_allowance": 1516291843612800, + "added_complete_new_pervertex": 1578975751961432, + "policy": "Retain old allowance and add the entire fresh recount." + }, + "finite": { + "physical_stock_bits": 2641, + "router_bits": 7985, + "literal_bits": 35282, + "physical_row_coefficient": 16467, + "retained_row_coefficient": 20161, + "required_C0_bits": 200012, + "halving_integer_inequality": [ + 5329, + 4608 + ], + "G_exponent": 30000, + "E_exponent": 100000, + "C0_exponent": 210000 + }, + "strict_checks": { + "local_primitive_bound": true, + "logical": true, + "router": true, + "literal": true, + "mass": true, + "precision": true, + "tape": true, + "row": true, + "halving": true + }, + "scope": "Fresh emitted primitive/Horner, prefix, wrapper and finite recount, using the hash-bound independent local all-column/frame replay and actual whole-owner audit. No old INTEGRATION receipt is used to certify the changed word. The inherited all-size compiler, precision/tape and analytic-transfer contracts remain conditional. Retained payload 512 and physical row allowance 20161 are unchanged." +} diff --git a/research/subspace16-r420-validation/linux-python312/complex-local/CLIFFORD-REVIEW.json b/research/subspace16-r420-validation/linux-python312/complex-local/CLIFFORD-REVIEW.json new file mode 100644 index 0000000000..3bce0ea7a8 --- /dev/null +++ b/research/subspace16-r420-validation/linux-python312/complex-local/CLIFFORD-REVIEW.json @@ -0,0 +1,20 @@ +{ + "status": "PASS_NEW_WORD_EXACT_LOCAL_PHASE_RECIPES", + "canonical_word_sha256": "2c1ae483355a8a91057c08b2faf537cc1842f7fc1fa7a4c12b3aebf4ed8a8ba3", + "frames": 999, + "directed_edges": 2929, + "ranks": { + "1": 1847, + "2": 382, + "8": 16, + "3": 430, + "4": 184, + "5": 14, + "6": 56 + }, + "endpoint_adapters": 224, + "all_child_equalities_include_global_phase": true, + "recipe_sha256": "01b96cacdeca5771257cfbe7f6ca96c9c38a7ccb06487211837d0ec14c1eec50", + "seconds": 95.70223118085414, + "scope": "Every local frame and center transition. Expanded scalar-interface integration and global emitted program are separate obligations." +} diff --git a/research/subspace16-r420-validation/linux-python312/complex-local/INDEPENDENT-LOCAL-REPLAY.json b/research/subspace16-r420-validation/linux-python312/complex-local/INDEPENDENT-LOCAL-REPLAY.json new file mode 100644 index 0000000000..95ef956566 --- /dev/null +++ b/research/subspace16-r420-validation/linux-python312/complex-local/INDEPENDENT-LOCAL-REPLAY.json @@ -0,0 +1,58 @@ +{ + "status": "PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY", + "canonical_word_sha256": "2c1ae483355a8a91057c08b2faf537cc1842f7fc1fa7a4c12b3aebf4ed8a8ba3", + "local_programs_sha256": "8c4f7b39c473de286bfa8cc66ff8e054410bb14e5efa2e50f75fc48b928859b4", + "v": 112, + "helpers": 504, + "local": { + "forward": { + "all_exact_columns": 728, + "prefix_l1_upper": "454080482", + "prefix_bits_upper": 29, + "charged_payload_bits": 192, + "private_work_erased": true + }, + "backward": { + "all_exact_columns": 728, + "prefix_l1_upper": "6920533000", + "prefix_bits_upper": 33, + "charged_payload_bits": 192, + "private_work_erased": true + } + }, + "paid_profiles": { + "forward": { + "1": 2300, + "4": 184, + "8": 8, + "3": 472, + "2": 440, + "6": 56, + "5": 56 + }, + "backward": { + "1": 2300, + "4": 184, + "8": 8, + "3": 472, + "2": 440, + "6": 56, + "5": 56 + } + }, + "entering_helpers": 212, + "negative_controls_rejected": [ + "wrong_scale", + "missing_center", + "wrong_common_frame", + "wrong_child_rank", + "missing_pre_wrapper", + "missing_post_wrapper", + "wrapper_with_wrong_frame", + "wrapper_in_wrong_phase", + "wrapper_on_a_data_register", + "wrapper_on_a_target_register", + "wrapper_on_a_centre_register" + ], + "scope": "Literal forward and inverse-transpose replay on every arbitrary data/helper column, physical frame incidence, ordered paid wrappers, cleared private work and prefix coefficients. Global hosting and outer exponent are separate." +} diff --git a/research/subspace16-r420-validation/linux-python312/complex-local/LEMMA-A.json b/research/subspace16-r420-validation/linux-python312/complex-local/LEMMA-A.json new file mode 100644 index 0000000000..4701120c11 --- /dev/null +++ b/research/subspace16-r420-validation/linux-python312/complex-local/LEMMA-A.json @@ -0,0 +1,287 @@ +{ + "status": "PASS_RESIDUAL_WRAPPERS_ARE_EXACT", + "frames": 23, + "wrappers_reject": [ + "wrong global phase", + "wrong translation", + "wrong quadratic form", + "sides swapped", + "wrong width" + ], + "all_even_weight": true, + "all_totally_isotropic": false, + "detail": [ + { + "frame": 2, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 75 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 3, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 102 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 4, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 120 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 5, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 85 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 6, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 459 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 7, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 486 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 422, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 45 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 423, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 51 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 424, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 30 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 425, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 413, + 72, + 48, + 3 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 426, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 407, + 66, + 36, + 9 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 427, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 455, + 33, + 18, + 12 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 428, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 258, + 130, + 85, + 45 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 429, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 264, + 136, + 85, + 51 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 430, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 427, + 96, + 24, + 6 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 431, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 288, + 160, + 75, + 30 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 432, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 423, + 65, + 20, + 10 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 433, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 257, + 129, + 102, + 30 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 434, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 399, + 68, + 34, + 17 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 435, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 260, + 132, + 75, + 51 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 436, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 411, + 80, + 40, + 5 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 437, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 272, + 144, + 75, + 45 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 438, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 320, + 192, + 45, + 30 + ], + "all_even_weight": true, + "totally_isotropic": false + } + ] +} diff --git a/research/subspace16-r420-validation/linux-python312/sliced/RESULT.json b/research/subspace16-r420-validation/linux-python312/sliced/RESULT.json new file mode 100644 index 0000000000..cd2adf3d00 --- /dev/null +++ b/research/subspace16-r420-validation/linux-python312/sliced/RESULT.json @@ -0,0 +1,4063 @@ +{ + "status": "EXACT_TARGET_RESPONSE_SLICE_PENDING_INDEPENDENT_ADMISSION", + "source_sha256": "29b11448963546b959bda379d82711c25f768d5579dcd6bc004887de808e8ae6", + "word_sha256": "ac51c08f5bb8a2cc7e9f201a930c966b82be54fe8eddc008a33c696a65dfa0a5", + "removed": { + "A": [ + { + "index": 1955, + "gate": [ + "add", + 442, + 437, + 1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1948, + "gate": [ + "add", + 442, + 432, + -1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1947, + "gate": [ + "add", + 55, + 432, + 1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1944, + "gate": [ + "add", + 442, + 435, + -1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1943, + "gate": [ + "add", + 52, + 435, + 1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1941, + "gate": [ + "add", + 442, + 433, + 1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1935, + "gate": [ + "add", + 55, + 433, + -1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1934, + "gate": [ + "add", + 52, + 433, + -1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1929, + "gate": [ + "add", + 55, + 442, + -1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1928, + "gate": [ + "add", + 52, + 442, + -1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1927, + "gate": [ + "add", + 53, + 442, + 1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1926, + "gate": [ + "scale", + 55, + -1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1925, + "gate": [ + "add", + 52, + 55, + 1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1924, + "gate": [ + "add", + 55, + 52, + -1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1923, + "gate": [ + "add", + 52, + 55, + 1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1919, + "gate": [ + "add", + 53, + 55, + -1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1915, + "gate": [ + "add", + 53, + 52, + -1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1820, + "gate": [ + "add", + 426, + 421, + 1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1813, + "gate": [ + "add", + 426, + 416, + -1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1812, + "gate": [ + "add", + 87, + 416, + 1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1809, + "gate": [ + "add", + 426, + 419, + -1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1808, + "gate": [ + "add", + 84, + 419, + 1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1806, + "gate": [ + "add", + 426, + 417, + 1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1800, + "gate": [ + "add", + 87, + 417, + -1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1799, + "gate": [ + "add", + 84, + 417, + -1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1794, + "gate": [ + "add", + 87, + 426, + -1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1793, + "gate": [ + "add", + 84, + 426, + -1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1792, + "gate": [ + "add", + 85, + 426, + 1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1791, + "gate": [ + "scale", + 87, + -1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1790, + "gate": [ + "add", + 84, + 87, + 1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1789, + "gate": [ + "add", + 87, + 84, + -1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1788, + "gate": [ + "add", + 84, + 87, + 1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1784, + "gate": [ + "add", + 85, + 87, + -1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1780, + "gate": [ + "add", + 85, + 84, + -1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1685, + "gate": [ + "add", + 410, + 405, + 1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1678, + "gate": [ + "add", + 410, + 400, + -1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1677, + "gate": [ + "add", + 95, + 400, + 1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1674, + "gate": [ + "add", + 410, + 403, + -1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1673, + "gate": [ + "add", + 92, + 403, + 1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1671, + "gate": [ + "add", + 410, + 401, + 1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1665, + "gate": [ + "add", + 95, + 401, + -1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1664, + "gate": [ + "add", + 92, + 401, + -1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1659, + "gate": [ + "add", + 95, + 410, + -1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1658, + "gate": [ + "add", + 92, + 410, + -1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1657, + "gate": [ + "add", + 93, + 410, + 1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1656, + "gate": [ + "scale", + 95, + -1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1655, + "gate": [ + "add", + 92, + 95, + 1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1654, + "gate": [ + "add", + 95, + 92, + -1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1653, + "gate": [ + "add", + 92, + 95, + 1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1649, + "gate": [ + "add", + 93, + 95, + -1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1645, + "gate": [ + "add", + 93, + 92, + -1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1550, + "gate": [ + "add", + 394, + 389, + 1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1543, + "gate": [ + "add", + 394, + 384, + -1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1542, + "gate": [ + "add", + 103, + 384, + 1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1539, + "gate": [ + "add", + 394, + 387, + -1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1538, + "gate": [ + "add", + 100, + 387, + 1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1536, + "gate": [ + "add", + 394, + 385, + 1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1530, + "gate": [ + "add", + 103, + 385, + -1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1529, + "gate": [ + "add", + 100, + 385, + -1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1524, + "gate": [ + "add", + 103, + 394, + -1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1523, + "gate": [ + "add", + 100, + 394, + -1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1522, + "gate": [ + "add", + 101, + 394, + 1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1521, + "gate": [ + "scale", + 103, + -1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1520, + "gate": [ + "add", + 100, + 103, + 1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1519, + "gate": [ + "add", + 103, + 100, + -1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1518, + "gate": [ + "add", + 100, + 103, + 1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1514, + "gate": [ + "add", + 101, + 103, + -1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1510, + "gate": [ + "add", + 101, + 100, + -1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1415, + "gate": [ + "add", + 378, + 373, + 1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1408, + "gate": [ + "add", + 378, + 368, + -1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1407, + "gate": [ + "add", + 79, + 368, + 1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1404, + "gate": [ + "add", + 378, + 371, + -1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1403, + "gate": [ + "add", + 76, + 371, + 1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1401, + "gate": [ + "add", + 378, + 369, + 1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1395, + "gate": [ + "add", + 79, + 369, + -1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1394, + "gate": [ + "add", + 76, + 369, + -1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1389, + "gate": [ + "add", + 79, + 378, + -1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1388, + "gate": [ + "add", + 76, + 378, + -1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1387, + "gate": [ + "add", + 77, + 378, + 1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1386, + "gate": [ + "scale", + 79, + -1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1385, + "gate": [ + "add", + 76, + 79, + 1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1384, + "gate": [ + "add", + 79, + 76, + -1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1383, + "gate": [ + "add", + 76, + 79, + 1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1379, + "gate": [ + "add", + 77, + 79, + -1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1375, + "gate": [ + "add", + 77, + 76, + -1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1280, + "gate": [ + "add", + 362, + 357, + 1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1273, + "gate": [ + "add", + 362, + 352, + -1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1272, + "gate": [ + "add", + 47, + 352, + 1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1269, + "gate": [ + "add", + 362, + 355, + -1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1268, + "gate": [ + "add", + 44, + 355, + 1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1266, + "gate": [ + "add", + 362, + 353, + 1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1260, + "gate": [ + "add", + 47, + 353, + -1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1259, + "gate": [ + "add", + 44, + 353, + -1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1254, + "gate": [ + "add", + 47, + 362, + -1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1253, + "gate": [ + "add", + 44, + 362, + -1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1252, + "gate": [ + "add", + 45, + 362, + 1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1251, + "gate": [ + "scale", + 47, + -1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1250, + "gate": [ + "add", + 44, + 47, + 1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1249, + "gate": [ + "add", + 47, + 44, + -1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1248, + "gate": [ + "add", + 44, + 47, + 1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1244, + "gate": [ + "add", + 45, + 47, + -1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1240, + "gate": [ + "add", + 45, + 44, + -1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1145, + "gate": [ + "add", + 346, + 341, + 1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1138, + "gate": [ + "add", + 346, + 336, + -1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1137, + "gate": [ + "add", + 7, + 336, + 1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1134, + "gate": [ + "add", + 346, + 339, + -1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1133, + "gate": [ + "add", + 4, + 339, + 1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1131, + "gate": [ + "add", + 346, + 337, + 1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1125, + "gate": [ + "add", + 7, + 337, + -1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1124, + "gate": [ + "add", + 4, + 337, + -1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1119, + "gate": [ + "add", + 7, + 346, + -1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1118, + "gate": [ + "add", + 4, + 346, + -1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1117, + "gate": [ + "add", + 5, + 346, + 1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1116, + "gate": [ + "scale", + 7, + -1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1115, + "gate": [ + "add", + 4, + 7, + 1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1114, + "gate": [ + "add", + 7, + 4, + -1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1113, + "gate": [ + "add", + 4, + 7, + 1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1109, + "gate": [ + "add", + 5, + 7, + -1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1105, + "gate": [ + "add", + 5, + 4, + -1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1010, + "gate": [ + "add", + 330, + 325, + 1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1003, + "gate": [ + "add", + 330, + 320, + -1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1002, + "gate": [ + "add", + 111, + 320, + 1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 999, + "gate": [ + "add", + 330, + 323, + -1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 998, + "gate": [ + "add", + 108, + 323, + 1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 996, + "gate": [ + "add", + 330, + 321, + 1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 990, + "gate": [ + "add", + 111, + 321, + -1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 989, + "gate": [ + "add", + 108, + 321, + -1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 984, + "gate": [ + "add", + 111, + 330, + -1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 983, + "gate": [ + "add", + 108, + 330, + -1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 982, + "gate": [ + "add", + 109, + 330, + 1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 981, + "gate": [ + "scale", + 111, + -1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 980, + "gate": [ + "add", + 108, + 111, + 1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 979, + "gate": [ + "add", + 111, + 108, + -1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 978, + "gate": [ + "add", + 108, + 111, + 1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 974, + "gate": [ + "add", + 109, + 111, + -1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 970, + "gate": [ + "add", + 109, + 108, + -1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 875, + "gate": [ + "add", + 314, + 309, + 1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 868, + "gate": [ + "add", + 314, + 304, + -1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 867, + "gate": [ + "add", + 71, + 304, + 1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 864, + "gate": [ + "add", + 314, + 307, + -1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 863, + "gate": [ + "add", + 68, + 307, + 1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 861, + "gate": [ + "add", + 314, + 305, + 1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 855, + "gate": [ + "add", + 71, + 305, + -1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 854, + "gate": [ + "add", + 68, + 305, + -1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 849, + "gate": [ + "add", + 71, + 314, + -1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 848, + "gate": [ + "add", + 68, + 314, + -1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 847, + "gate": [ + "add", + 69, + 314, + 1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 846, + "gate": [ + "scale", + 71, + -1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 845, + "gate": [ + "add", + 68, + 71, + 1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 844, + "gate": [ + "add", + 71, + 68, + -1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 843, + "gate": [ + "add", + 68, + 71, + 1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 839, + "gate": [ + "add", + 69, + 71, + -1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 835, + "gate": [ + "add", + 69, + 68, + -1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 740, + "gate": [ + "add", + 298, + 293, + 1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 733, + "gate": [ + "add", + 298, + 288, + -1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 732, + "gate": [ + "add", + 39, + 288, + 1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 729, + "gate": [ + "add", + 298, + 291, + -1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 728, + "gate": [ + "add", + 36, + 291, + 1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 726, + "gate": [ + "add", + 298, + 289, + 1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 720, + "gate": [ + "add", + 39, + 289, + -1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 719, + "gate": [ + "add", + 36, + 289, + -1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 714, + "gate": [ + "add", + 39, + 298, + -1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 713, + "gate": [ + "add", + 36, + 298, + -1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 712, + "gate": [ + "add", + 37, + 298, + 1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 711, + "gate": [ + "scale", + 39, + -1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 710, + "gate": [ + "add", + 36, + 39, + 1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 709, + "gate": [ + "add", + 39, + 36, + -1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 708, + "gate": [ + "add", + 36, + 39, + 1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 704, + "gate": [ + "add", + 37, + 39, + -1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 700, + "gate": [ + "add", + 37, + 36, + -1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 605, + "gate": [ + "add", + 282, + 277, + 1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 598, + "gate": [ + "add", + 282, + 272, + -1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 597, + "gate": [ + "add", + 15, + 272, + 1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 594, + "gate": [ + "add", + 282, + 275, + -1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 593, + "gate": [ + "add", + 12, + 275, + 1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 591, + "gate": [ + "add", + 282, + 273, + 1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 585, + "gate": [ + "add", + 15, + 273, + -1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 584, + "gate": [ + "add", + 12, + 273, + -1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 579, + "gate": [ + "add", + 15, + 282, + -1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 578, + "gate": [ + "add", + 12, + 282, + -1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 577, + "gate": [ + "add", + 13, + 282, + 1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 576, + "gate": [ + "scale", + 15, + -1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 575, + "gate": [ + "add", + 12, + 15, + 1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 574, + "gate": [ + "add", + 15, + 12, + -1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 573, + "gate": [ + "add", + 12, + 15, + 1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 569, + "gate": [ + "add", + 13, + 15, + -1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 565, + "gate": [ + "add", + 13, + 12, + -1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 470, + "gate": [ + "add", + 266, + 261, + 1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 463, + "gate": [ + "add", + 266, + 256, + -1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 462, + "gate": [ + "add", + 23, + 256, + 1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 459, + "gate": [ + "add", + 266, + 259, + -1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 458, + "gate": [ + "add", + 20, + 259, + 1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 456, + "gate": [ + "add", + 266, + 257, + 1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 450, + "gate": [ + "add", + 23, + 257, + -1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 449, + "gate": [ + "add", + 20, + 257, + -1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 444, + "gate": [ + "add", + 23, + 266, + -1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 443, + "gate": [ + "add", + 20, + 266, + -1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 442, + "gate": [ + "add", + 21, + 266, + 1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 441, + "gate": [ + "scale", + 23, + -1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 440, + "gate": [ + "add", + 20, + 23, + 1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 439, + "gate": [ + "add", + 23, + 20, + -1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 438, + "gate": [ + "add", + 20, + 23, + 1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 434, + "gate": [ + "add", + 21, + 23, + -1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 430, + "gate": [ + "add", + 21, + 20, + -1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 335, + "gate": [ + "add", + 250, + 245, + 1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 328, + "gate": [ + "add", + 250, + 240, + -1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 327, + "gate": [ + "add", + 31, + 240, + 1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 324, + "gate": [ + "add", + 250, + 243, + -1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 323, + "gate": [ + "add", + 28, + 243, + 1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 321, + "gate": [ + "add", + 250, + 241, + 1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 315, + "gate": [ + "add", + 31, + 241, + -1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 314, + "gate": [ + "add", + 28, + 241, + -1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 309, + "gate": [ + "add", + 31, + 250, + -1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 308, + "gate": [ + "add", + 28, + 250, + -1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 307, + "gate": [ + "add", + 29, + 250, + 1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 306, + "gate": [ + "scale", + 31, + -1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 305, + "gate": [ + "add", + 28, + 31, + 1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 304, + "gate": [ + "add", + 31, + 28, + -1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 303, + "gate": [ + "add", + 28, + 31, + 1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 299, + "gate": [ + "add", + 29, + 31, + -1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 295, + "gate": [ + "add", + 29, + 28, + -1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 200, + "gate": [ + "add", + 234, + 229, + 1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 193, + "gate": [ + "add", + 234, + 224, + -1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 192, + "gate": [ + "add", + 63, + 224, + 1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 189, + "gate": [ + "add", + 234, + 227, + -1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 188, + "gate": [ + "add", + 60, + 227, + 1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 186, + "gate": [ + "add", + 234, + 225, + 1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 180, + "gate": [ + "add", + 63, + 225, + -1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 179, + "gate": [ + "add", + 60, + 225, + -1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 174, + "gate": [ + "add", + 63, + 234, + -1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 173, + "gate": [ + "add", + 60, + 234, + -1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 172, + "gate": [ + "add", + 61, + 234, + 1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 171, + "gate": [ + "scale", + 63, + -1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 170, + "gate": [ + "add", + 60, + 63, + 1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 169, + "gate": [ + "add", + 63, + 60, + -1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 168, + "gate": [ + "add", + 60, + 63, + 1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 164, + "gate": [ + "add", + 61, + 63, + -1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 160, + "gate": [ + "add", + 61, + 60, + -1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + } + ], + "B": [] + }, + "sentinels": [], + "before": { + "1": 2284, + "4": 168, + "8": 8, + "3": 488, + "2": 456, + "6": 56, + "5": 56 + }, + "after": { + "1": 2284, + "4": 168, + "8": 8, + "3": 488, + "2": 456, + "6": 56, + "5": 56 + }, + "frozen_prefix": 69, + "scope": "Zero exact suffix response or identity scale; frame boundaries retained, cleanup regenerated. Local incidence/profile verified; independent arbitrary-input and physical admission still required." +} diff --git a/research/subspace16-r420-validation/linux-python312/static44/SCALAR-AUDIT.json b/research/subspace16-r420-validation/linux-python312/static44/SCALAR-AUDIT.json new file mode 100644 index 0000000000..8867c80263 --- /dev/null +++ b/research/subspace16-r420-validation/linux-python312/static44/SCALAR-AUDIT.json @@ -0,0 +1,56 @@ +{ + "status": "PASS_EXACT_RATIONAL_FORWARD_AND_INVERSE_TRANSPOSE", + "word_sha256": "412734181cf76b0974b3127f5e1c2a3c374dd8d9aefa428b70c21b3c77de098e", + "selection_sha256": "16ecc4a5c08af6750ee8610b722f74eba82a9eeb9703f0f0e0ace08ce5c82ad3", + "columns_each_orientation": 728, + "compensations": 9760, + "program_operations": 16894, + "kernel_pivots": 44, + "controls": { + "264": "REJECTED_OMITTED_KERNEL_CORRECTION", + "265": "REJECTED_OMITTED_KERNEL_CORRECTION", + "312": "REJECTED_OMITTED_KERNEL_CORRECTION", + "313": "REJECTED_OMITTED_KERNEL_CORRECTION", + "314": "REJECTED_OMITTED_KERNEL_CORRECTION", + "315": "REJECTED_OMITTED_KERNEL_CORRECTION", + "350": "REJECTED_OMITTED_KERNEL_CORRECTION", + "351": "REJECTED_OMITTED_KERNEL_CORRECTION", + "276": "REJECTED_OMITTED_KERNEL_CORRECTION", + "277": "REJECTED_OMITTED_KERNEL_CORRECTION", + "324": "REJECTED_OMITTED_KERNEL_CORRECTION", + "325": "REJECTED_OMITTED_KERNEL_CORRECTION", + "326": "REJECTED_OMITTED_KERNEL_CORRECTION", + "327": "REJECTED_OMITTED_KERNEL_CORRECTION", + "338": "REJECTED_OMITTED_KERNEL_CORRECTION", + "339": "REJECTED_OMITTED_KERNEL_CORRECTION", + "262": "REJECTED_OMITTED_KERNEL_CORRECTION", + "263": "REJECTED_OMITTED_KERNEL_CORRECTION", + "322": "REJECTED_OMITTED_KERNEL_CORRECTION", + "323": "REJECTED_OMITTED_KERNEL_CORRECTION", + "328": "REJECTED_OMITTED_KERNEL_CORRECTION", + "329": "REJECTED_OMITTED_KERNEL_CORRECTION", + "352": "REJECTED_OMITTED_KERNEL_CORRECTION", + "353": "REJECTED_OMITTED_KERNEL_CORRECTION", + "274": "REJECTED_OMITTED_KERNEL_CORRECTION", + "275": "REJECTED_OMITTED_KERNEL_CORRECTION", + "310": "REJECTED_OMITTED_KERNEL_CORRECTION", + "311": "REJECTED_OMITTED_KERNEL_CORRECTION", + "316": "REJECTED_OMITTED_KERNEL_CORRECTION", + "317": "REJECTED_OMITTED_KERNEL_CORRECTION", + "340": "REJECTED_OMITTED_KERNEL_CORRECTION", + "341": "REJECTED_OMITTED_KERNEL_CORRECTION", + "299": "REJECTED_OMITTED_KERNEL_CORRECTION", + "301": "REJECTED_OMITTED_KERNEL_CORRECTION", + "347": "REJECTED_OMITTED_KERNEL_CORRECTION", + "349": "REJECTED_OMITTED_KERNEL_CORRECTION", + "359": "REJECTED_OMITTED_KERNEL_CORRECTION", + "361": "REJECTED_OMITTED_KERNEL_CORRECTION", + "370": "REJECTED_OMITTED_KERNEL_CORRECTION", + "371": "REJECTED_OMITTED_KERNEL_CORRECTION", + "372": "REJECTED_OMITTED_KERNEL_CORRECTION", + "373": "REJECTED_OMITTED_KERNEL_CORRECTION", + "375": "REJECTED_OMITTED_KERNEL_CORRECTION", + "377": "REJECTED_OMITTED_KERNEL_CORRECTION" + }, + "scope": "Exact local scalar identity and preserved frame-zero compensation; physical owner routing, complete invoice and outer kappa separate." +} diff --git a/research/subspace16-r420-validation/linux-python312/subspace16/RESULT.json b/research/subspace16-r420-validation/linux-python312/subspace16/RESULT.json new file mode 100644 index 0000000000..cfcc82096b --- /dev/null +++ b/research/subspace16-r420-validation/linux-python312/subspace16/RESULT.json @@ -0,0 +1,37 @@ +{ + "status": "PASS_FROZEN_SUBSPACE16_FRAME_RECIPE", + "changes": 63, + "changes_by_section": { + "B": 63 + }, + "before": { + "1": 2284, + "4": 168, + "8": 8, + "3": 488, + "2": 456, + "6": 56, + "5": 56 + }, + "after": { + "1": 2300, + "4": 184, + "8": 8, + "3": 472, + "2": 440, + "6": 56, + "5": 56 + }, + "delta": { + "1": 16, + "2": -16, + "3": -16, + "4": 16 + }, + "rank_mass": 6012, + "scalar_operations_unchanged": true, + "starts_cut_cleanup_and_widths_unchanged": true, + "source_sha256": "ac51c08f5bb8a2cc7e9f201a930c966b82be54fe8eddc008a33c696a65dfa0a5", + "word_sha256": "dac4d6d6ad99208d3d50c640acb2f82e81ddaa1dc97a29da758353fd3bd49fa9", + "scope": "Exact nested-frame legality and paid-profile identity. Full arbitrary-dirt, phase, owner and invoice admission are independent subsequent stages." +} diff --git a/research/subspace16-r420-validation/macos-python314/RECEIPT.json b/research/subspace16-r420-validation/macos-python314/RECEIPT.json new file mode 100644 index 0000000000..78342cee31 --- /dev/null +++ b/research/subspace16-r420-validation/macos-python314/RECEIPT.json @@ -0,0 +1,125 @@ +{ + "status": "PASS_SUBSPACE16_R420_BOTH_SUPPLIERS", + "stages": [ + { + "name": "bit-r420-full-replay-and-interface", + "exit_code": 0, + "seconds": 83.33290937496349, + "log_sha256": "f8a13070cae5060c1794f69745fce8eeb4b254c189eb6c8f21b8b7de1d5588d1" + }, + { + "name": "complex-static44-construction-and-controls", + "exit_code": 0, + "seconds": 3.635361041990109, + "log_sha256": "710d00e4459f1986cc56699cfdbf25e20b16c4fbebf485475f725c8edf7e47d7" + }, + { + "name": "complex-548-frame-lifts", + "exit_code": 0, + "seconds": 0.34416304097976536, + "log_sha256": "9d912ac7edbdcdf3d6a8a3e82358bc325d68e2773cd91371e7e4cb95eecbf356" + }, + { + "name": "complex-548-syndrome", + "exit_code": 0, + "seconds": 0.14932233397848904, + "log_sha256": "5a043dd6559a4d5932a7f3c5378ee42e709cf655395d5c3c92cf4185d3585659" + }, + { + "name": "complex-response-slice", + "exit_code": 0, + "seconds": 0.2155060840304941, + "log_sha256": "187de54751a3b255e2a1ce87bab2382dbfc658e02c6315cdb0caeb94f9f1719c" + }, + { + "name": "complex-subspace16", + "exit_code": 0, + "seconds": 0.13033554202411324, + "log_sha256": "75d72e9f1f5499a06026a3abf7d5cf1165eb720319db87e39f0b905ab1611567" + }, + { + "name": "complex-scalar-frame-transport", + "exit_code": 0, + "seconds": 0.38492758304346353, + "log_sha256": "1301dcd81fb81efbd3509ac2fd10d98dae27800fb996c9ac69bb69e2e75ec8ad" + }, + { + "name": "complex-emit-local", + "exit_code": 0, + "seconds": 0.3748114160262048, + "log_sha256": "c554d261298d443991b872559a14b1f2dfd49484ef91d445b70c78b8d010ab0a" + }, + { + "name": "complex-independent-local", + "exit_code": 0, + "seconds": 1.1572077909950167, + "log_sha256": "b694b4b22abb9d1de9a70bbbdf9e9b0e030ec00a7eddc264e4c18376dd859cee" + }, + { + "name": "complex-normalized-wrappers", + "exit_code": 0, + "seconds": 0.7315756250172853, + "log_sha256": "4638570164b60b9d83753f6fd3a6359713fc062971e022bdea919f8d479b298a" + }, + { + "name": "complex-every-local-phase", + "exit_code": 0, + "seconds": 83.35586837504525, + "log_sha256": "e42a70cbdbb8885b609bf3540c46f0eb1b85a2efe323181eeba04575c96e5885" + }, + { + "name": "complex-bind-retained-data", + "exit_code": 0, + "seconds": 0.6675040420377627, + "log_sha256": "0ec9cf9211eb0d1f73960977bda84e4dd1b29e3707e8b1862dae2b99425ff75c" + }, + { + "name": "complex-emit-whole-owners", + "exit_code": 0, + "seconds": 1.5444140000035986, + "log_sha256": "2ee1126251f41c8dc3efa54c554a89783de1007127b426506a05429983e2d747" + }, + { + "name": "complex-independent-owners-and-controls", + "exit_code": 0, + "seconds": 3.080716875032522, + "log_sha256": "1b24ed8decf1bc8a5088262817087102a7f22b25a792203613ff4420fb3cdcb3" + }, + { + "name": "complex-finite-invoice", + "exit_code": 0, + "seconds": 0.30952291702851653, + "log_sha256": "7ced8116b566ff9b22a9f18f29e157b59f43460f55b7110c6ed327df05da2cd9" + }, + { + "name": "both-moments-and-outer-assembly", + "exit_code": 0, + "seconds": 0.2344489999813959, + "log_sha256": "2682779be39198eb79bea0d93c4ccbee18f8db2b01803deba92f00457b59941b" + } + ], + "artifacts": { + "RESULT.json": "77f0e1be238ec6a657b976bf8b11d6b024159d21c22a414388d298371604e1a1", + "bit-r420/DRIVER.json": "c77e5a7dfb95eb5370e08787189d7d2b8cd21b9ea08f1a3300c0d937e6197b86", + "bit-r420/replay/xcheck.json": "957c926bea5ca5aa52c5e0d3b1623c813e1338e3ed7402c5f188edfbaed6eb7d", + "bit-r420/replay/mutants.json": "fa7c2b880d9f45b797b0894fd402e6b041b5f5318770497322f7673e16362c1e", + "bit-r420/replay/cout/columns.json": "aad40b6d49d9ea75362b829e118e36669c560a3ece5ffccf1a446ce5f909087d", + "bit-r420/replay/cout/columns_k4.json": "28b58b7ab88ed5b743cdf450ed25042d80d9139d61fde0a53d60a1636bf8d6ce", + "bit-r420/replay/cout/columns_k5.json": "263e798218be70ebf8a814eaad2e97353f299f3c754f5055315b80c97b24b897", + "bit-r420/replay/cout/legality.json": "9533feacec0c271acf27a028be0d89385f8bd6b2a2a5bfaa6e68f9eff94830bf", + "bit-r420/replay/v9/hosted/AUDIT.json": "58cd2167079838143ddb7a81d1156a43baeef78faac0a2739a81068540c42af2", + "bit-r420/replay/RESULT9.json": "f2a326be2a501ec6cac7c04719d31bf3b0007175c1a549538a11ec617128ae1e", + "bit-r420/replay/RESULT11.json": "dc86029c682620d157ff4de7dce938c45e2965915c7a06b558da990fa4b917b4", + "static44/SCALAR-AUDIT.json": "9436f9b92196015e357e4974011cf1d0f960abb7f26b95eedac339a02c919624", + "sliced/RESULT.json": "1c5d5e5d26caf3d4ff00e524d82b72f72aa3360979e2d04192a85b368c63e129", + "subspace16/RESULT.json": "6f1f2c36201a5d0ff8c1aec58019959f5b08f93707a05c63fb2bbf0ba52fa712", + "complex-local/INDEPENDENT-LOCAL-REPLAY.json": "6690e3728e84c029b0b10735a55c07d1a60cf675c973d5973dcc669e90f39f42", + "complex-local/CLIFFORD-REVIEW.json": "9d7130d7610131376759a4770e0b3fb2d325c1cfe79e4d61ad944abe846d35e4", + "complex-local/LEMMA-A.json": "bc9d150517bae20490620f6d18b1af68a7d57ca5efe772613a9ee5ccd09107d8", + "complex-audit/ASYNC-AUDIT.json": "1b24ed8decf1bc8a5088262817087102a7f22b25a792203613ff4420fb3cdcb3", + "complex-audit/OWNERS-AND-PROFILE.json": "5cb19a58e6c9b35284023e6979e8c4364063c5f46bab3ee5219e6e877e55991f", + "complex-audit/PREFIX-AND-INVOICE.json": "7ced8116b566ff9b22a9f18f29e157b59f43460f55b7110c6ed327df05da2cd9", + "assembly/EXACT-ASSEMBLY.json": "c0ccd019c97f5e8e9de7b2cbd1b4017cd90ca7d1155a6ce07a062e9205c42d9a" + }, + "manifest_sha256": "2b3351b02e4b4e13f0f3c02e5b7c664c01c149f7a85d7f1bcb83709f7fce837a" +} diff --git a/research/subspace16-r420-validation/macos-python314/RESULT.json b/research/subspace16-r420-validation/macos-python314/RESULT.json new file mode 100644 index 0000000000..6619368f47 --- /dev/null +++ b/research/subspace16-r420-validation/macos-python314/RESULT.json @@ -0,0 +1,70 @@ +{ + "kappa": "795984451416673/500000000000000000", + "kappa_decimal": "0.001591968902833346", + "complex_lower": "1594507308884431019637/1000000000000000000000000", + "bit_lower": "413456747036699736067/250000000000000000000000", + "binding_component": "complex", + "status": "PASS_SUBSPACE16_R420_BOTH_SUPPLIERS", + "bit_local_profile": { + "1": 1320, + "2": 1440, + "4": 60, + "5": 120, + "8": 9 + }, + "bit_global_profile": { + "1": 380160, + "2": 426624, + "4": 32640, + "5": 34560, + "6": 15360, + "7": 23040, + "8": 2592, + "42": 3456 + }, + "bit_word_sha256": "9721a3819efd68307f66f00d84a952eb28eb7c3ad2ce79653ce295c98a764784", + "bit_template_sha256": "cc2464bf7113684521e093fc35e0834fc9e9b5da9b2f6203f3a08adeaa89ca57", + "bit_program_sha256": "2d219ab9a59aaf8f7163f28cac55a3d7a010dd9aa93ec53108491c1e5d434ab5", + "bit_payload_prefix_bits": 100, + "bit_prefix_bits": 189, + "bit_charged_prefix_bits": 192, + "bit_two_level_bits": 416, + "bit_charged_two_level_bits": 512, + "complex_local_profile": { + "1": 2300, + "2": 440, + "3": 472, + "4": 184, + "5": 56, + "6": 56, + "8": 8 + }, + "complex_global_profile": { + "1": 165600, + "2": 32128, + "3": 35907, + "4": 13248, + "5": 4032, + "6": 4032, + "7": 208, + "8": 576, + "39": 1, + "48": 1660 + }, + "complex_word_sha256": "2c1ae483355a8a91057c08b2faf537cc1842f7fc1fa7a4c12b3aebf4ed8a8ba3", + "complex_program_sha256": "8c4f7b39c473de286bfa8cc66ff8e054410bb14e5efa2e50f75fc48b928859b4", + "complex_phase_sha256": "01b96cacdeca5771257cfbe7f6ca96c9c38a7ccb06487211837d0ec14c1eec50", + "complex_template_sha256": "8cea2b4ff1b53c4930d758dbc6d9ba701a543599c450af4d0b4110c358be4e08", + "complex_live": 7168, + "complex_physical": 7682, + "complex_deficit": 2560, + "complex_helper_roles": 36288, + "complex_prefix_bits": 218, + "complex_charged_prefix_bits": 512, + "phase_edges": 2929, + "endpoint_adapters": 224, + "seconds": 179.7088361249771, + "python": "3.14.8 (main, Sep 30 2026, 17:55:09) [Clang 21.0.0 (clang-2100.3.34.2)]", + "manifest_sha256": "2b3351b02e4b4e13f0f3c02e5b7c664c01c149f7a85d7f1bcb83709f7fce837a", + "scope": "Conditional finite witness under the retained all-size compiler, common-label/mutable-basis, whole-call hosting, restored-work, precision/tape and analytic-transfer contracts. Fresh changed-bit admission and complex admission and finite invoices are separately hash-bound. The unchanged complex data controller remains a cited dependency. No unconditional theorem is claimed." +} diff --git a/research/subspace16-r420-validation/macos-python314/STAGES.json b/research/subspace16-r420-validation/macos-python314/STAGES.json new file mode 100644 index 0000000000..5d81ae67ae --- /dev/null +++ b/research/subspace16-r420-validation/macos-python314/STAGES.json @@ -0,0 +1,98 @@ +[ + { + "name": "bit-r420-full-replay-and-interface", + "exit_code": 0, + "seconds": 83.33290937496349, + "log_sha256": "f8a13070cae5060c1794f69745fce8eeb4b254c189eb6c8f21b8b7de1d5588d1" + }, + { + "name": "complex-static44-construction-and-controls", + "exit_code": 0, + "seconds": 3.635361041990109, + "log_sha256": "710d00e4459f1986cc56699cfdbf25e20b16c4fbebf485475f725c8edf7e47d7" + }, + { + "name": "complex-548-frame-lifts", + "exit_code": 0, + "seconds": 0.34416304097976536, + "log_sha256": "9d912ac7edbdcdf3d6a8a3e82358bc325d68e2773cd91371e7e4cb95eecbf356" + }, + { + "name": "complex-548-syndrome", + "exit_code": 0, + "seconds": 0.14932233397848904, + "log_sha256": "5a043dd6559a4d5932a7f3c5378ee42e709cf655395d5c3c92cf4185d3585659" + }, + { + "name": "complex-response-slice", + "exit_code": 0, + "seconds": 0.2155060840304941, + "log_sha256": "187de54751a3b255e2a1ce87bab2382dbfc658e02c6315cdb0caeb94f9f1719c" + }, + { + "name": "complex-subspace16", + "exit_code": 0, + "seconds": 0.13033554202411324, + "log_sha256": "75d72e9f1f5499a06026a3abf7d5cf1165eb720319db87e39f0b905ab1611567" + }, + { + "name": "complex-scalar-frame-transport", + "exit_code": 0, + "seconds": 0.38492758304346353, + "log_sha256": "1301dcd81fb81efbd3509ac2fd10d98dae27800fb996c9ac69bb69e2e75ec8ad" + }, + { + "name": "complex-emit-local", + "exit_code": 0, + "seconds": 0.3748114160262048, + "log_sha256": "c554d261298d443991b872559a14b1f2dfd49484ef91d445b70c78b8d010ab0a" + }, + { + "name": "complex-independent-local", + "exit_code": 0, + "seconds": 1.1572077909950167, + "log_sha256": "b694b4b22abb9d1de9a70bbbdf9e9b0e030ec00a7eddc264e4c18376dd859cee" + }, + { + "name": "complex-normalized-wrappers", + "exit_code": 0, + "seconds": 0.7315756250172853, + "log_sha256": "4638570164b60b9d83753f6fd3a6359713fc062971e022bdea919f8d479b298a" + }, + { + "name": "complex-every-local-phase", + "exit_code": 0, + "seconds": 83.35586837504525, + "log_sha256": "e42a70cbdbb8885b609bf3540c46f0eb1b85a2efe323181eeba04575c96e5885" + }, + { + "name": "complex-bind-retained-data", + "exit_code": 0, + "seconds": 0.6675040420377627, + "log_sha256": "0ec9cf9211eb0d1f73960977bda84e4dd1b29e3707e8b1862dae2b99425ff75c" + }, + { + "name": "complex-emit-whole-owners", + "exit_code": 0, + "seconds": 1.5444140000035986, + "log_sha256": "2ee1126251f41c8dc3efa54c554a89783de1007127b426506a05429983e2d747" + }, + { + "name": "complex-independent-owners-and-controls", + "exit_code": 0, + "seconds": 3.080716875032522, + "log_sha256": "1b24ed8decf1bc8a5088262817087102a7f22b25a792203613ff4420fb3cdcb3" + }, + { + "name": "complex-finite-invoice", + "exit_code": 0, + "seconds": 0.30952291702851653, + "log_sha256": "7ced8116b566ff9b22a9f18f29e157b59f43460f55b7110c6ed327df05da2cd9" + }, + { + "name": "both-moments-and-outer-assembly", + "exit_code": 0, + "seconds": 0.2344489999813959, + "log_sha256": "2682779be39198eb79bea0d93c4ccbee18f8db2b01803deba92f00457b59941b" + } +] diff --git a/research/subspace16-r420-validation/macos-python314/assembly/EXACT-ASSEMBLY.json b/research/subspace16-r420-validation/macos-python314/assembly/EXACT-ASSEMBLY.json new file mode 100644 index 0000000000..d7df5ea88e --- /dev/null +++ b/research/subspace16-r420-validation/macos-python314/assembly/EXACT-ASSEMBLY.json @@ -0,0 +1,207 @@ +{ + "status": "PASS_SUBSPACE16_R420_BOTH_SUPPLIERS", + "complex_lower": "1594507308884431019637/1000000000000000000000000", + "complex_decimal": "0.001594507308884431019637", + "next_b_rejected": "797253654442215509819/500000000000000000000000", + "exact_moment_receipts": [ + { + "endpoint": "1594507308884431019637/1000000000000000000000000", + "accept": true, + "mercator": [ + "-40186902685703231311821970003273532124160065/13479973333575319897333507543509815336818572211270286240551805124608", + "-627920354464112989247218281301148939440001/210624583337114373395836055367340864637790190801098222508621955072" + ], + "base_two": [ + "-1863269341316411144019/625000000000000000000000000000000000000000000", + "-3726537432632822288021/1250000000000000000000000000000000000000000000" + ] + }, + { + "endpoint": "797253654442215509819/500000000000000000000000", + "accept": false, + "mercator": [ + "2584151432270445003531030214735456403866167/26959946667150639794667015087019630673637144422540572481103610249216", + "2584151432270445003531030214735456403866169/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "958510539299785465391/10000000000000000000000000000000000000000000000", + "958520539299785465527/10000000000000000000000000000000000000000000000" + ] + } + ], + "bit_lower": "413456747036699736067/250000000000000000000000", + "bit_decimal": "0.001653826988146798944268", + "bit_exact_moment_receipts": [ + { + "endpoint": "413456747036699736067/250000000000000000000000", + "accept": true, + "mercator": [ + "-6043813583626134311169770662156174867615397/13479973333575319897333507543509815336818572211270286240551805124608", + "-12087627167252268622339541324312349735230793/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "-1120888283015460284783/2500000000000000000000000000000000000000000000", + "-4483543132061841139029/10000000000000000000000000000000000000000000000" + ] + }, + { + "endpoint": "1653826988146798944269/1000000000000000000000000", + "accept": false, + "mercator": [ + "70925594433828721229860776023154018035852861/26959946667150639794667015087019630673637144422540572481103610249216", + "70925594433828721229860776023154018035852863/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "13153878434097279887307/5000000000000000000000000000000000000000000000", + "6576941717048639943679/2500000000000000000000000000000000000000000000" + ] + } + ], + "bit_result_sha256": "f2a326be2a501ec6cac7c04719d31bf3b0007175c1a549538a11ec617128ae1e", + "complex_dependency": { + "source_pr": 548, + "commit": "66dbc2bffc1bfa8d50b3f9a2ac7ccba8fd9f6f36", + "local_word": "response-sliced and subspace-optimized static44", + "new_global_owners": false + }, + "bit_dependency": { + "pull_request": 543, + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "changed_word": "PR543 R420 with interleaved phase-B source writes", + "fresh_bit_receipt_sha256": "f2a326be2a501ec6cac7c04719d31bf3b0007175c1a549538a11ec617128ae1e" + }, + "bit_prefix_bits": 192, + "bit_charged_two_level_coefficient_bits": 512, + "external_row_allowance": 20161, + "kappa": "795984451416673/500000000000000000", + "kappa_decimal": "0.001591968902833346", + "binding_component": "complex", + "improvements": { + "PR547_updated": { + "baseline": "49718254847979/31250000000000000", + "relative_gain": "492373849009/795492077567664", + "percent_display": "0.06189551" + }, + "PR535": { + "baseline": "1584931111785787/1000000000000000000", + "relative_gain": "7037791047559/1584931111785787", + "percent_display": "0.44404397" + }, + "PR541": { + "baseline": "396803113660173/250000000000000000", + "relative_gain": "2378224096327/793606227320346", + "percent_display": "0.29967306" + }, + "PR542_543": { + "baseline": "793733736881443/500000000000000000", + "relative_gain": "2250714535230/793733736881443", + "percent_display": "0.28356040" + }, + "PR544": { + "baseline": "397150561665803/250000000000000000", + "relative_gain": "1683328085067/794301123331606", + "percent_display": "0.21192568" + }, + "PR531": { + "baseline": "1517760977820331/1000000000000000000", + "relative_gain": "74207925013015/1517760977820331", + "percent_display": "4.88930247" + }, + "rejected_POST208_checkpoint": { + "baseline": "771820390859371/500000000000000000", + "relative_gain": "24164060557302/771820390859371", + "percent_display": "3.13078805" + }, + "PR533": { + "baseline": "381051987698311/250000000000000000", + "relative_gain": "33880476020051/762103975396622", + "percent_display": "4.44565008" + } + }, + "strict_outer_constraints": { + "bit_positive": "1594507308884430992468479037226948733045790402355797280259266461847547651686955705218596394719171511716814102174643360720897587440213809430805913176507663516027445521538549212305000514224108115814505541158736776382676571646668186023354922554527223479408350180742584877240118621306983251711933/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_above_bit": "27168520962773051266954209597644202719740733538152452348313044294781403605280828488283185897825356639279102412559786190569194086823492336483972554478461450787694999485775891884185494458841263223617323428353331813976645077445472776520591649819257415122759881378693016748288067/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_below_one_over32": "29655492691115568980363/1000000000000000000000000", + "beta_positive": "1/1000000000000000000", + "beta_below_one": "999999999999999999/1000000000000000000", + "leaf_saving_above_bit": "25574013653888620247317209597644202719740733538152452348313044294781403605280828488283185897825356639279102412559786190569194086823492336483972554478461450787694999485775891884185494458841263223617323428353331813976645077445472776520591649819257415122759881378693016748288067/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_positive": "797253654442215494639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_internal": "1594507308884430992468479037226948733045790402355797280259266461847547651686955705218596394719171511716814102174643360720897587440213809430805913176507663516027445521538549212305000514224108115814505541158736776382676571646668186023354922554527223479408350180742584877240118621306983251711933/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_leaf": "14381514135828741116127083836049050092916157171432023454415788609238249454327369949360189343631849831356365308454536456005494630851959977672792190415738388909874945264426495154397747743644739727623167255335402683370999110369404574283650747464155931040788290870089093251384152121306983251711933/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_positive": "797253654442215619639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_below_one": "499202746345557784380360267790270956625945583836049050092916157171432023454415788609238249454327369949360189343631849831356365308454536456005494630851959977672792190415738388909874945264426495154397747743644739727623167255335402683370999110369404574283650747464155931040788290870089093251384152121306983251711933/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_reservations": "1/4000000000000000000", + "lambda_above_tau": "1594507308884430992468479037226948733045790402355797280259266461847547651686955705218596394719171511716814102174643360720897587440213809430805913176507663516027445521538549212305000514224108115814505541158736776382676571646668186023354922554527223479408350180742584877240118621306983251711933/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_sigma": "28763028271657482259422688634871151452786523940508249628572310756628951256967784193501782292544528150995916514734429551290091674263706145914778467654969114303722445007314441096490494973065371339431828969512068590359321649092140962543946572373784638602168231559435601625528185621306983251711933/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_internal": "1594507308884430992468479037226948733045790402355797280259266461847547651686955705218596394719171511716814102174643360720897587440213809430805913176507663516027445521538549212305000514224108115814505541158736776382676571646668186023354922554527223479408350180742584877240118621306983251711933/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_prime_above_lambda": "1594507308884430992468479037226948733045790402355797280259266461847547651686955705218596394719171511716814102174643360720897587440213809430805913176507663516027445521538549212305000514224108115814505541158736776382676571646668186023354922554527223479408350180742584877240118621306983251711933/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_leaf": "14381514135828741116127083836049050092916157171432023454415788609238249454327369949360189343631849831356365308454536456005494630851959977672792190415738388909874945264426495154397747743644739727623167255335402683370999110369404574283650747464155931040788290870089093251384152121306983251711933/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_reservations": "1/4000000000000000000", + "lambda_prime_below_one": "797253654442215494639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_positive": "499999999999999999500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/500797253654442215494639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067", + "epsilon_below_one": "797253654442215994639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067/500797253654442215494639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067", + "guard_width": "797253654442215994639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067/500797253654442215494639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067", + "K_geometry": "375797253654442215619639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067/500797253654442215494639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067000000000000000000", + "K_dominates_log": "797253654442215618842478555286827754414683954221906533029426664617026638500368562193774000088418659878060110695520118003824035177313375350870677602576478332702440436221588762917245151311893755477197520781755426774580488309337044252168144965998109087348362905248643242862456594066837789404138748782109999672219121306983251711933/500797253654442215494639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067000000000000000000", + "record_suffix": "797253654442215994639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067/500797253654442215494639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067", + "phase_local": "6378029235537727456320604023390131497795597101878555882616326464592862457589848297526027819796829014356734705272571298509266875995558183312408261638856634623157107526052866393792628300326427674692963315268577333412409700961518260655174372380166089101793130656157125957344420503443185029715073899633227237688688121306983251711933/4006378029235537723957117857677832346992435329311607599256670742628543812364673691126094004365381040405118485250945201349149077532363708351956042953184320178617662476674092888721000437884588038764818018050842082179014661957316778533032007117044763405730794020286752551673693673039287253988926783029544133986304536000000000000000000", + "phase_boundary": "1275605847107545090626317881124253903847333652592476477279732361757812565850895396650824327491996690261946504516410219190004850104591501747573899091400491729027126186778555416992277992655996662838548874594911590200680135108095434229568678744355364517157914426755084618389482072013381838573647475997920048645059321306983251711933/801275605847107544791423571535566469398487065862321519851334148525708762472934738225218800873076208081023697050189040269829815506472741670391208590636864035723532495334818577744200087576917607752963603610168416435802932391463355706606401423408952681146158804057350510334738734607857450797785356605908826797260907200000000000000000", + "gamma_sublinear": "1/2000000000000000000", + "cell_above_band": "999999999999999998499202746345557784505360267790270956625945583836049050092916157171432023454415788609238249454327369949360189343631849831356365308454536456005494630851959977672792190415738388909874945264426495154397747743644739727623167255335402683370999110369404574283650747464155931040788290870089093251384152121306983251711933/2003189014617768861978558928838916173496217664655803799628335371314271906182336845563047002182690520202559242625472600674574538766181854175978021476592160089308831238337046444360500218942294019382409009025421041089507330978658389266516003558522381702865397010143376275836846836519643626994463391514772066993152268000000000000000000", + "prime_interval_packing": "797253654442215994639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067/500797253654442215494639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067", + "alpha_positive": "1594507308884431488482210765015871253469100118172856440113269493185003184084579952955524545761048710517870767063670286647458726722776919345376046750616500659910250020483199853042299886885398601079449777137015699151413232973934360881169034596593534803697615441092712202074165723977744538019986627475126747960286121306983251711933/1001594507308884430989279464419458086748108832327901899814167685657135953091168422781523501091345260101279621312736300337287269383090927087989010738296080044654415619168523222180250109471147009691204504512710520544753665489329194633258001779261190851432698505071688137918423418259821813497231695757386033496576134000000000000000000", + "alpha_below_one": "999999999999999999500797253654442215494639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067/1001594507308884430989279464419458086748108832327901899814167685657135953091168422781523501091345260101279621312736300337287269383090927087989010738296080044654415619168523222180250109471147009691204504512710520544753665489329194633258001779261190851432698505071688137918423418259821813497231695757386033496576134000000000000000000", + "alpha_below_one_fourth": "248804119518336676258837655339848650433558107963802618513428651921098985088707525742425350727075266314802034561120404797674358619049954852651876637823403510503693654771647605692020227480901353821721676351040614437037003139358364297433331410218704178054477010826829322277531688840977708836287937311871381626183747378693016748288067/1001594507308884430989279464419458086748108832327901899814167685657135953091168422781523501091345260101279621312736300337287269383090927087989010738296080044654415619168523222180250109471147009691204504512710520544753665489329194633258001779261190851432698505071688137918423418259821813497231695757386033496576134000000000000000000", + "delta_positive": "1/8000000000000000000", + "delta_below_one_eighth": "999999999999999999/8000000000000000000", + "short_record_fallback": "499201475118778741068654999143069888940482593957175092531137652663607153230380364476741265024793568211578239946781632664656197051029666885388777949726762774166552094549420419698786993435590645252359988126936119951198526011529555071525349032417256714778358667048116032446905408104103655385299570671012998172421314846684341560678342333181399360596881909003917645240179913381331047154541985273560948368456881515372086210454496466220401309420123637759743720785646439308676234795844715221287284693206730575074498543551795480255309640615346960296644917361507509957276363124501169036123443900995918015175214596489/500797253654442215494639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "small_field_exposure": "1/1000000000000000000", + "artificial_boundary": "28051024233884301797159334622385985422423401831122047924175529189520203348638641057494455964559800957413233133644579500945112052228014117321579247700110952060924815920836863176749626931829489143388919308613457171968924052427600009081386555170351899195733354831185806690538597141921830238789049391626085792136283831636079050244864201/4006378029235537723957117857677832346992435329311607599256670742628543812364673691126094004365381040405118485250945201349149077532363708351956042953184320178617662476674092888721000437884588038764818018050842082179014661957316778533032007117044763405730794020286752551673693673039287253988926783029544133986304536000000000000000000", + "literal_scalar_guard": "1", + "row_product_gap": "23971789/25", + "balanced_prefix_above_kappa": "372636184202921975476439331760191289554942920846488485958822380065911553624243595975578203644518931690830323098562918152658815380939475333653026733261232819868675675626293956319444617960666460055825134073291445913610069804613774836077747637638598521888451882535525467933042427391415221387426954962431594349258909/250398626827221107747319866104864521687027208081975474953541921414283988272792105695380875272836315025319905328184075084321817345772731771997252684574020011163603904792130805545062527367786752422801126128177630136188416372332298658314500444815297712858174626267922034479605854564955453374307923939346508374144033500000000000000000", + "coordinate_movement_above_kappa": "2538406051084992468479037226948733045790402355797280259266461847547651686955705218596394719171511716814102174643360720897587440213809430805913176507663516027445521538549212305000514224108115814505541158736776382676571646668186023354922554527223479408350180742584877240118621306983251711933/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_phase_layer_above_kappa": "244475114751401735458238931310653535735831425529026022010560917303255130702902980560394656743365233331020835540757686136673996070333487123311548097374425617410143541668326301548764181185759415266048015890227631554843306864562952355526494385646601618060554512535206866906873145652919536026238062046170171950229751/500797253654442215494639732209729043374054416163950949907083842828567976545584211390761750545672630050639810656368150168643634691545463543994505369148040022327207809584261611090125054735573504845602252256355260272376832744664597316629000889630595425716349252535844068959211709129910906748615847878693016748288067000000000000000000", + "bulk_exposure_above_kappa": "2538406051084992468479037226948733045790402355797280259266461847547651686955705218596394719171511716814102174643360720897587440213809430805913176507663516027445521538549212305000514224108115814505541158736776382676571646668186023354922554527223479408350180742584877240118621306983251711933/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "Gaussian_arithmetic_above_kappa": "3458192678974540530149830647114415416008814652724061025805738866911744975259976478655442505583939756800086116295165939599322872637304287618475900886439525006262771762099395245660488613692795836665190883890886833255876953150497410794098957754064599221633483857889187142132620292613089008455752040005440425846702209/4006378029235537723957117857677832346992435329311607599256670742628543812364673691126094004365381040405118485250945201349149077532363708351956042953184320178617662476674092888721000437884588038764818018050842082179014661957316778533032007117044763405730794020286752551673693673039287253988926783029544133986304536000000000000000000", + "scalar_work_above_kappa": "5461381693592309392128389575953331589505032317379864825434074238226016881442313324218489507766630277002645358920638540273897411403486141794453922363031685095571603000436441690020988832635089856047599892916307874345384284129155800060614961312586980924498880868032563417969467129132732635450215431520212492839854477/4006378029235537723957117857677832346992435329311607599256670742628543812364673691126094004365381040405118485250945201349149077532363708351956042953184320178617662476674092888721000437884588038764818018050842082179014661957316778533032007117044763405730794020286752551673693673039287253988926783029544133986304536000000000000000000", + "dimension_above_kappa": "249601373172778892125316318098057453789412123678215814601400999432204497686030274370530678351407280950258298316334856606508505752790186380661562696365455322489422828469102014323613148258507203896643491832488829919636717700959147255295569359798477123219573011370676487408846027970570014558734503452068713013282921462431594349258909/250398626827221107747319866104864521687027208081975474953541921414283988272792105695380875272836315025319905328184075084321817345772731771997252684574020011163603904792130805545062527367786752422801126128177630136188416372332298658314500444815297712858174626267922034479605854564955453374307923939346508374144033500000000000000000" + }, + "outer_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "bootstrap": [ + { + "gap": "2481128966436905979649524107347598322193487143227352216064130242888143479611769/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "5847952315725" + }, + { + "gap": "3956178271268520723138094774061895366072898769156551497017972093606310599787111700165663787603052205281158022424692147/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "2300121588111717685" + }, + { + "gap": "6308155168787429499404787227965292718475638937130932952669159331883484005492727932678659495572316335858959903688795291960604581005456464413096737382963309361/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "904685783068306507649493" + }, + { + "gap": "10058399522208657933230085316865104289802773723602691124085315487596543287527158481231005071535186950251802332587569637898849382704260238915234907456213548431744765951746189920284435161290903078043/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "355831783117963692133614326705" + }, + { + "gap": "16038191553841373904702614091997355283308084869691670025535507910317141210232663053163457826170583302136412511113060567866861731802322153364457805668676377260603048160819938292355276957694991382009828570411302962831962199269887723469609/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "139956060155473495622122430733492291" + }, + { + "gap": "25573013653888620247317209597644202719740733538152452348313044294781403605280828488283185897825356639279102412559786190569194086823492336483972554478461450787694999485775891884185494458841263223617323428353331813976645077445472776520591649819257415122759881378693016748288067/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "55047636842909261150376392677080110642617" + } + ], + "complex_template_sha256": "8cea2b4ff1b53c4930d758dbc6d9ba701a543599c450af4d0b4110c358be4e08", + "owner_audit_sha256": "5cb19a58e6c9b35284023e6979e8c4364063c5f46bab3ee5219e6e877e55991f", + "invoice_sha256": "7ced8116b566ff9b22a9f18f29e157b59f43460f55b7110c6ed327df05da2cd9", + "bit_scope": "The R420 bit word is freshly reconstructed, replayed and admitted by this package by the native local and hosted-global checkers, with its interleaved source-write interface audited separately. The static44 complex supplier is freshly rebuilt and admitted separately.", + "scope": "Conditional finite witness under the retained all-size compiler, common-label/mutable-basis, whole-call hosting, restored-work, precision/tape and analytic-transfer contracts. Fresh changed-bit admission and complex admission and finite invoices are separately hash-bound. The unchanged complex data controller remains a cited dependency. No unconditional theorem is claimed." +} diff --git a/research/subspace16-r420-validation/macos-python314/bit-r420/DRIVER.json b/research/subspace16-r420-validation/macos-python314/bit-r420/DRIVER.json new file mode 100644 index 0000000000..92ae3c379b --- /dev/null +++ b/research/subspace16-r420-validation/macos-python314/bit-r420/DRIVER.json @@ -0,0 +1,10 @@ +{ + "status": "PASS_COMPLETE_PR543_DRIVER", + "source_commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "source_sha256": "3192dea51acd17addb2750834a9dc3fb5b991e8dc5970ba9d2ac54608d79cafa", + "driver_sha256": "15fd7b436c9c2a007909e2f7470c7f0b060da46984d2be089a6b3ee535d9300b", + "changes": [ + "Pin HERE to the unchanged vendored package.", + "Run only the word generator through code/run.py to normalize gzip OS byte; all payload bytes and mathematical checks retained." + ] +} diff --git a/research/subspace16-r420-validation/macos-python314/bit-r420/replay/RESULT11.json b/research/subspace16-r420-validation/macos-python314/bit-r420/replay/RESULT11.json new file mode 100644 index 0000000000..c161e8be21 --- /dev/null +++ b/research/subspace16-r420-validation/macos-python314/bit-r420/replay/RESULT11.json @@ -0,0 +1,136 @@ +{ + "status": "PASS_ELEVEN_STAGE_WHOLE_HOSTED_BIT_PRICE_AND_CITED_ASSEMBLY", + "R": 420, + "bit_lower": "82015816228313440961/50000000000000000000000", + "bit_lower_decimal": "0.00164031632456626881922", + "next_grid_point_rejected": "1640316324566268819221/1000000000000000000000000", + "bit": { + "live": 9600, + "physical": 9609, + "maxchild": 56, + "rank_mass": 745536, + "hosted_residuals": 36960, + "prefix_bits": 4710, + "charged_prefix_bits": 4736, + "coefficient_bits": 4710, + "three_level_coefficient_bits": 14185, + "charged_three_level_coefficient_bits": 14208, + "row_coefficient": 19431, + "halving_depth": 3 + }, + "bit_profile": { + "1": 116160, + "2": 130560, + "4": 9120, + "5": 10560, + "6": 3839, + "7": 7680, + "8": 792, + "14": 1, + "56": 3497 + }, + "row_bound": { + "method": "successive nonzero-norm vectors in nondegenerate complements", + "minimum_q": 3, + "column_exponent": 3003, + "factor_two_power": 78, + "cover_exponent": 3081, + "physical_families": 9609, + "physical_exponent": 9, + "stock_exponent": 3090, + "halving_depth": 3, + "complete_row_coefficient": 19431, + "retained_row_coefficient": 20161 + }, + "row_controls": [ + "false two-level halving", + "understated row reserve" + ], + "bit_template_sha256": "0516bd352e3798537311f1ee2230684bbeb1386b43b6928db768612857d99f7d", + "emitted_program_sha256": "3de4325e0df33ca85116d05cbcc6810f025d6083e5134d128236769c97699f51", + "audit_mutations_rejected": 22, + "kappa": { + "pr535": { + "complex_lower": "1589991533606044174031/1000000000000000000000000", + "kappa": "793733736881443/500000000000000000", + "kappa_decimal": "0.001587467473762886", + "binding_component": "complex", + "strict_outer_constraints": 47, + "outer_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "bootstrap": [ + { + "gap": "2466922161555565196706874881361239427233314917060278358803966499922917014788961/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "5915502031208" + }, + { + "gap": "3922385350938470571667269922904312091591744728378786235749543296111831354752307662469844823338420790736854918978328209/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "2339925251832660982" + }, + { + "gap": "6236559499532540596920946454068430912070571872141805587731976473636868614394671340057726063212290403869463466686940282989579395558676214222045257187367459521/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "925576587630110440164418" + }, + { + "gap": "9916076803087087547850142666396489149976980291394249498801505334056256018445684287816172330366212931139459254568669674708451128856068084538538943490534382644506971733816816117900686094308728100849/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "366119395864473354088826959688" + }, + { + "gap": "15766478163495758022689937956011841145397355715303699010783965729115901618762211982583902604772364050613747559836891214028610222785470862068652098783717236550147524552171012356081061955503432985822622977142836360688849396689808525147681/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "144821524031174952656827434104168501" + }, + { + "gap": "25068566794742827148383074407881196142798552566996430457065661113310790350063075656574977894071965955082525763500445201676598927945561367501731117400906054165465287678366016000311670121795425797812170308129566934575139127607884656467712145555730302230266392276358376059927889/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "57285339317220642981988954652973054752273" + } + ], + "complex_status": "open PR (opened 2026-10-12 02:14 UTC), a conditional finite witness; its own kappa 1584931111785787/10^18 is bit-bound with PR #510's bit c", + "complex_role": "primary" + }, + "pr531": { + "complex_lower": "304013615566499291631/200000000000000000000000", + "kappa": "1517760977820331/1000000000000000000", + "kappa_decimal": "0.001517760977820331", + "binding_component": "complex", + "strict_outer_constraints": 47, + "outer_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "bootstrap": [ + { + "gap": "90085811799150019004410582869232947420733224179192246844610959548424786640161/40000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "7097570097425" + }, + { + "gap": "27387313356302799747666299137568733903709809878688072491275182031845669243330314545464043582423671734451481004207409/8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "3071734057963094733" + }, + { + "gap": "8326116154102290793599286963905105749963501347701642176092446009017064428474956278308368491824986802363390869805313673561158051015286850104115270898105921/1600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "1329405697067353589697069" + }, + { + "gap": "2531252675635273404746793961741440744484193517630301065895207272185247355863816735170415993084643602998674379016728456427708207501412641383454813580818815269532494553239168708938911573893152849/320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "575349126599542919894057132845" + }, + { + "gap": "769535277832254736206845260307877636625929131114403242362380720276688151887990930845361541322135713675237989007462171052067470421647590675749140006860004874864378644117079949553059264726289272147113542643139630514542463160290493281/64000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "249003459372181093823622006530189989" + }, + { + "gap": "233949202119754315498048391461215734466554730312915905308552475369461191692314856999497373785973786469174415953329390816526367982456944919690110817455799477677433908164973951751182713977149801892723547607304200819159076007215052459605713969562392195790301133129934968689/12800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "107765389591820574473400445708536466810850" + } + ], + "complex_status": "merged 2026-10-12; main's headline kappa 1517760977820331/10^18 is complex-bound with this b", + "complex_role": "merged" + } + } +} diff --git a/research/subspace16-r420-validation/macos-python314/bit-r420/replay/RESULT9.json b/research/subspace16-r420-validation/macos-python314/bit-r420/replay/RESULT9.json new file mode 100644 index 0000000000..cb88fd02f7 --- /dev/null +++ b/research/subspace16-r420-validation/macos-python314/bit-r420/replay/RESULT9.json @@ -0,0 +1,63 @@ +{ + "status": "PASS_NINE_STAGE_WHOLE_HOSTED_BIT_PRICE_AND_CITED_ASSEMBLY", + "R": 420, + "stages": 9, + "replicas": 32, + "bit_lower": "413456747036699736067/250000000000000000000000", + "bit_lower_decimal": "0.001653826988146798944268", + "next_grid_point_rejected": "1653826988146798944269/1000000000000000000000000", + "bit": { + "live": 30720, + "physical": 30729, + "maxchild": 42, + "rank_mass": 1956096, + "hosted_residuals": 120960, + "bank_assignments": 0, + "prefix_bits": 189, + "charged_prefix_bits": 192, + "coefficient_bits": 189, + "two_level_coefficient_bits": 416, + "charged_two_level_coefficient_bits": 512, + "row_coefficient": 18355, + "halving_depth": 2 + }, + "bit_profile": { + "1": 380160, + "2": 426624, + "4": 32640, + "5": 34560, + "6": 15360, + "7": 23040, + "8": 2592, + "42": 3456 + }, + "emitted_program_sha256": "2d219ab9a59aaf8f7163f28cac55a3d7a010dd9aa93ec53108491c1e5d434ab5", + "kappa": { + "pr535": { + "complex_lower": "1589991533606044174031/1000000000000000000000000", + "kappa": "793733736881443/500000000000000000", + "kappa_decimal": "0.001587467473762886", + "binding_component": "complex", + "strict_outer_constraints": 47, + "outer_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ] + }, + "pr531": { + "complex_lower": "304013615566499291631/200000000000000000000000", + "kappa": "1517760977820331/1000000000000000000", + "kappa_decimal": "0.001517760977820331", + "binding_component": "complex", + "strict_outer_constraints": 47, + "outer_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ] + } + } +} diff --git a/research/subspace16-r420-validation/macos-python314/bit-r420/replay/cout/columns.json b/research/subspace16-r420-validation/macos-python314/bit-r420/replay/cout/columns.json new file mode 100644 index 0000000000..7aeb31c6a6 --- /dev/null +++ b/research/subspace16-r420-validation/macos-python314/bit-r420/replay/cout/columns.json @@ -0,0 +1,116 @@ +{ + "bridge_additions": 720, + "copied_center_original_source_immutable": true, + "five_stage_additions": 134580, + "formal_columns_checked": 900, + "fresh_center_copies": 45, + "global_live_registers": 900, + "independent_dirty_registers": 420, + "local_odd_scalar_additions": 26916, + "local_raw_H": [ + [ + 1, + 1320 + ], + [ + 2, + 1440 + ], + [ + 4, + 60 + ], + [ + 5, + 120 + ], + [ + 8, + 9 + ] + ], + "local_registers": 660, + "local_scalar_additions": 26916, + "local_scalar_stream": "/private/tmp/subspace16-final-cold-macos/bit-r420/replay/cout/COHORT249-RECORDS.bin", + "negative_controls": [ + { + "omit_bridge": 0, + "rejected": true + }, + { + "omit_bridge": 1, + "rejected": true + }, + { + "omit_bridge": 2, + "rejected": true + }, + { + "omit_bridge": 3, + "rejected": true + }, + { + "omit_bridge": 4, + "rejected": true + }, + { + "omit_bridge": 5, + "rejected": true + } + ], + "new_Q_categories": [ + 28, + 29 + ], + "payload_prefix_bits": 100, + "payload_prefix_upper": "998206739997057013039187410944", + "reverse_fresh_center_copies": 18, + "scope": "All independent physical input columns over F2, including all arbitrary helper dirt, restored; external copied-center work closes to zero. New cohort scalar lift uses actual signed coefficients and computed cancellation-free bounds; unchanged source527 signed decoder remains separate defining evidence. Physical projector routing and paid rank/bank receipts are independently bound, not inferred from scalar check.", + "seconds": 0.003140917, + "signed_lift_prefix": [ + { + "bits": 18, + "cancellation_free_signed_row_l1_upper": "144651", + "reverse": false + }, + { + "bits": 22, + "cancellation_free_signed_row_l1_upper": "2270064", + "reverse": true + } + ], + "signed_reverse_semantics": "Reverse ADD coefficient negated; reverse DISCARD is fresh COPY from recorded unchanged original center; reverse COPY is DISCARD. Each such block is inverse over every commutative coefficient ring, by elementary-shear induction.", + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": false, + "stage": 4 + } + ], + "status": "PASS_NEW_COHORT249_ALL_FIVE_STAGE_FORMAL_COLUMNS_AND_PREFIX_BILL" +} \ No newline at end of file diff --git a/research/subspace16-r420-validation/macos-python314/bit-r420/replay/cout/columns_k4.json b/research/subspace16-r420-validation/macos-python314/bit-r420/replay/cout/columns_k4.json new file mode 100644 index 0000000000..74721fac7f --- /dev/null +++ b/research/subspace16-r420-validation/macos-python314/bit-r420/replay/cout/columns_k4.json @@ -0,0 +1,188 @@ +{ + "bridge_additions": 2160, + "copied_center_original_source_immutable": true, + "formal_columns_checked": 1380, + "fresh_center_copies": 81, + "global_live_registers": 1380, + "independent_dirty_registers": 420, + "local_odd_scalar_additions": 26916, + "local_raw_H": [ + [ + 1, + 1320 + ], + [ + 2, + 1440 + ], + [ + 4, + 60 + ], + [ + 5, + 120 + ], + [ + 8, + 9 + ] + ], + "local_registers": 660, + "local_scalar_additions": 26916, + "local_scalar_stream": "/private/tmp/subspace16-final-cold-macos/bit-r420/replay/cout/COHORT249-RECORDS.bin", + "negative_controls": [ + { + "omit_bridge": 0, + "rejected": true + }, + { + "omit_bridge": 1, + "rejected": true + }, + { + "omit_bridge": 2, + "rejected": true + }, + { + "omit_bridge": 3, + "rejected": true + }, + { + "omit_bridge": 4, + "rejected": true + }, + { + "omit_bridge": 5, + "rejected": true + }, + { + "omit_bridge": 6, + "rejected": true + }, + { + "omit_bridge": 7, + "rejected": true + }, + { + "omit_bridge": 8, + "rejected": true + }, + { + "omit_bridge": 9, + "rejected": true + }, + { + "omit_bridge": 10, + "rejected": true + }, + { + "omit_bridge": 11, + "rejected": true + }, + { + "omit_bridge": 12, + "rejected": true + }, + { + "omit_bridge": 13, + "rejected": true + }, + { + "omit_bridge": 14, + "rejected": true + }, + { + "omit_bridge": 15, + "rejected": true + }, + { + "omit_bridge": 16, + "rejected": true + }, + { + "omit_bridge": 17, + "rejected": true + } + ], + "new_Q_categories": [ + 28, + 29 + ], + "payload_prefix_bits": 100, + "payload_prefix_upper": "998206739997057013039187410944", + "reverse_fresh_center_copies": 36, + "scope": "All independent physical input columns over F2, including all arbitrary helper dirt, restored; external copied-center work closes to zero. New cohort scalar lift uses actual signed coefficients and computed cancellation-free bounds; unchanged source527 signed decoder remains separate defining evidence. Physical projector routing and paid rank/bank receipts are independently bound, not inferred from scalar check.", + "seconds": 0.006043292, + "signed_lift_prefix": [ + { + "bits": 18, + "cancellation_free_signed_row_l1_upper": "144651", + "reverse": false + }, + { + "bits": 22, + "cancellation_free_signed_row_l1_upper": "2270064", + "reverse": true + } + ], + "signed_reverse_semantics": "Reverse ADD coefficient negated; reverse DISCARD is fresh COPY from recorded unchanged original center; reverse COPY is DISCARD. Each such block is inverse over every commutative coefficient ring, by elementary-shear induction.", + "stage_additions": 242244, + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": false, + "stage": 4 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": true, + "stage": 5 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": false, + "stage": 6 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": true, + "stage": 7 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": false, + "stage": 8 + } + ], + "status": "PASS_NEW_COHORT249_ALL_BRIDGED_STAGE_FORMAL_COLUMNS_AND_PREFIX_BILL" +} \ No newline at end of file diff --git a/research/subspace16-r420-validation/macos-python314/bit-r420/replay/cout/columns_k5.json b/research/subspace16-r420-validation/macos-python314/bit-r420/replay/cout/columns_k5.json new file mode 100644 index 0000000000..11ba37d6f7 --- /dev/null +++ b/research/subspace16-r420-validation/macos-python314/bit-r420/replay/cout/columns_k5.json @@ -0,0 +1,224 @@ +{ + "bridge_additions": 2880, + "copied_center_original_source_immutable": true, + "formal_columns_checked": 1620, + "fresh_center_copies": 99, + "global_live_registers": 1620, + "independent_dirty_registers": 420, + "local_odd_scalar_additions": 26916, + "local_raw_H": [ + [ + 1, + 1320 + ], + [ + 2, + 1440 + ], + [ + 4, + 60 + ], + [ + 5, + 120 + ], + [ + 8, + 9 + ] + ], + "local_registers": 660, + "local_scalar_additions": 26916, + "local_scalar_stream": "/private/tmp/subspace16-final-cold-macos/bit-r420/replay/cout/COHORT249-RECORDS.bin", + "negative_controls": [ + { + "omit_bridge": 0, + "rejected": true + }, + { + "omit_bridge": 1, + "rejected": true + }, + { + "omit_bridge": 2, + "rejected": true + }, + { + "omit_bridge": 3, + "rejected": true + }, + { + "omit_bridge": 4, + "rejected": true + }, + { + "omit_bridge": 5, + "rejected": true + }, + { + "omit_bridge": 6, + "rejected": true + }, + { + "omit_bridge": 7, + "rejected": true + }, + { + "omit_bridge": 8, + "rejected": true + }, + { + "omit_bridge": 9, + "rejected": true + }, + { + "omit_bridge": 10, + "rejected": true + }, + { + "omit_bridge": 11, + "rejected": true + }, + { + "omit_bridge": 12, + "rejected": true + }, + { + "omit_bridge": 13, + "rejected": true + }, + { + "omit_bridge": 14, + "rejected": true + }, + { + "omit_bridge": 15, + "rejected": true + }, + { + "omit_bridge": 16, + "rejected": true + }, + { + "omit_bridge": 17, + "rejected": true + }, + { + "omit_bridge": 18, + "rejected": true + }, + { + "omit_bridge": 19, + "rejected": true + }, + { + "omit_bridge": 20, + "rejected": true + }, + { + "omit_bridge": 21, + "rejected": true + }, + { + "omit_bridge": 22, + "rejected": true + }, + { + "omit_bridge": 23, + "rejected": true + } + ], + "new_Q_categories": [ + 28, + 29 + ], + "payload_prefix_bits": 100, + "payload_prefix_upper": "998206739997057013039187410944", + "reverse_fresh_center_copies": 45, + "scope": "All independent physical input columns over F2, including all arbitrary helper dirt, restored; external copied-center work closes to zero. New cohort scalar lift uses actual signed coefficients and computed cancellation-free bounds; unchanged source527 signed decoder remains separate defining evidence. Physical projector routing and paid rank/bank receipts are independently bound, not inferred from scalar check.", + "seconds": 0.006921708, + "signed_lift_prefix": [ + { + "bits": 18, + "cancellation_free_signed_row_l1_upper": "144651", + "reverse": false + }, + { + "bits": 22, + "cancellation_free_signed_row_l1_upper": "2270064", + "reverse": true + } + ], + "signed_reverse_semantics": "Reverse ADD coefficient negated; reverse DISCARD is fresh COPY from recorded unchanged original center; reverse COPY is DISCARD. Each such block is inverse over every commutative coefficient ring, by elementary-shear induction.", + "stage_additions": 296076, + "stages": [ + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": false, + "stage": 0 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": true, + "stage": 1 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": false, + "stage": 2 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": true, + "stage": 3 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": false, + "stage": 4 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": true, + "stage": 5 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": false, + "stage": 6 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": true, + "stage": 7 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": false, + "stage": 8 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": true, + "stage": 9 + }, + { + "fresh_copies": 9, + "scalar_additions": 26916, + "signed_inverse": false, + "stage": 10 + } + ], + "status": "PASS_NEW_COHORT249_ALL_BRIDGED_STAGE_FORMAL_COLUMNS_AND_PREFIX_BILL" +} \ No newline at end of file diff --git a/research/subspace16-r420-validation/macos-python314/bit-r420/replay/cout/legality.json b/research/subspace16-r420-validation/macos-python314/bit-r420/replay/cout/legality.json new file mode 100644 index 0000000000..e84de250be --- /dev/null +++ b/research/subspace16-r420-validation/macos-python314/bit-r420/replay/cout/legality.json @@ -0,0 +1,42 @@ +{ + "all_final_frames_pass": true, + "common_frame_ADDs": 26916, + "containment_pairs_checked": 2460, + "copies": 9, + "donor_intersections": 0, + "erasures": 9, + "max_inherited_integer_abs": 2, + "nested_MOVEs": 2940, + "new_frame_ids_collision": false, + "nondegeneracy_checked_by_separate_exact_bank_audit": true, + "old_max_frame_id": 671, + "paid_histogram": [ + [ + 1, + 1320 + ], + [ + 2, + 1440 + ], + [ + 4, + 60 + ], + [ + 5, + 120 + ], + [ + 8, + 9 + ] + ], + "rank_mass": 5112, + "records": 29874, + "scope": "Independent chronological geometry/copy/source-owner audit. F2 all-column replay is in the separately freshly compiled transform receipt; address transform theorem and bank completion remain separate.", + "selected_helpers": 0, + "selected_pairs": 0, + "source_owner_intersections": 0, + "status": "PASS_INDEPENDENT_COHORT_LEGALITY_SOURCE_OWNERS_AND_LIFECYCLE" +} diff --git a/research/subspace16-r420-validation/macos-python314/bit-r420/replay/mutants.json b/research/subspace16-r420-validation/macos-python314/bit-r420/replay/mutants.json new file mode 100644 index 0000000000..b25c426e6b --- /dev/null +++ b/research/subspace16-r420-validation/macos-python314/bit-r420/replay/mutants.json @@ -0,0 +1,65 @@ +{ + "status": "PASS_INTERLEAVED_INTERFACE_MUTATION_CONTROLS", + "controls": [ + { + "control": "m1", + "mutation": "target feeds a source (cancelled pair, F2-neutral)", + "rejected": true, + "by": "interface: fails H1_no_target_feeds_z,H3_A_z_only_scatter_targets_B_split,H4_C_literal_reverse_at_full" + }, + { + "control": "m2", + "mutation": "target feeds a helper (cancelled pair, F2-neutral)", + "rejected": true, + "by": "interface: fails H1_no_target_feeds_z,H3_A_z_only_scatter_targets_B_split,H4_C_literal_reverse_at_full" + }, + { + "control": "m3", + "mutation": "drop a cleanup gate (inverse of the last phase-B source write)", + "rejected": true, + "by": "replay: sources not restored: [11, 41, 44, 83, 86]" + }, + { + "control": "m4", + "mutation": "corrupt a phase-B source write (operand 10 -> 6, cleanup changed alike)", + "rejected": true, + "by": "replay: targets not y + x: [0, 66, 67, 68, 69]" + }, + { + "control": "m5", + "mutation": "phase-B source write moved down to the destination's own line frame", + "rejected": true, + "by": "replay: climb not nested: register 5 from frame 123 (dim 2) to frame 7 (dim 1)" + }, + { + "control": "m6", + "mutation": "a target reads another target (single read, V != I)", + "rejected": true, + "by": "replay: targets not y + x: [0]" + }, + { + "control": "m7", + "mutation": "frame-0 preconditioner corrupted (one helper read dropped)", + "rejected": true, + "by": "replay: targets not y + x: [0]" + }, + { + "control": "m8", + "mutation": "phase-B source write moved before the target read of that register", + "rejected": true, + "by": "replay: climb not nested: register 5 from frame 542 (dim 4) to frame 123 (dim 2)" + }, + { + "control": "m9", + "mutation": "cleanup gate moved off the full frame (to the frame of the gate it inverts)", + "rejected": true, + "by": "replay: climb not nested: register 240 from frame 1 (dim 8) to frame 2 (dim 1)" + }, + { + "control": "positive", + "mutation": "cancelled pair of target-to-target reads at frame 0 (V = I)", + "rejected": false, + "by": "accepted" + } + ] +} \ No newline at end of file diff --git a/research/subspace16-r420-validation/macos-python314/bit-r420/replay/v9/hosted/AUDIT.json b/research/subspace16-r420-validation/macos-python314/bit-r420/replay/v9/hosted/AUDIT.json new file mode 100644 index 0000000000..11b685b37d --- /dev/null +++ b/research/subspace16-r420-validation/macos-python314/bit-r420/replay/v9/hosted/AUDIT.json @@ -0,0 +1,41 @@ +{ + "status": "PASS_INDEPENDENT_REPLICATED_HOSTING_AUDIT", + "template_sha256": "cc2464bf7113684521e093fc35e0834fc9e9b5da9b2f6203f3a08adeaa89ca57", + "emitted_program_sha256": "2d219ab9a59aaf8f7163f28cac55a3d7a010dd9aa93ec53108491c1e5d434ab5", + "emitted_events": 8603712, + "profile": { + "1": 380160, + "2": 426624, + "4": 32640, + "5": 34560, + "6": 15360, + "7": 23040, + "8": 2592, + "42": 3456 + }, + "live": 30720, + "physical": 30729, + "hosted_residuals": 120960, + "bank_assignments": 0, + "rank_mass": 1956096, + "deficit": 9984, + "maxchild": 42, + "mutations_rejected": [ + "slot outside window", + "copy index outside family", + "negative slot offset", + "wrong residual width", + "duplicate helper", + "omitted helper", + "hosted owner in another replica or outside the data stock", + "hosted owner on a wrong data family", + "wrong call orientation", + "duplicate call", + "changed idle rank", + "understated live stock", + "missing remainder summary", + "stale stage count", + "hosted coordinate beyond the pending set", + "overlapping hosted coordinates" + ] +} diff --git a/research/subspace16-r420-validation/macos-python314/bit-r420/replay/v9/hosted/GLOBAL-TEMPLATE.json.gz b/research/subspace16-r420-validation/macos-python314/bit-r420/replay/v9/hosted/GLOBAL-TEMPLATE.json.gz new file mode 100644 index 0000000000..e2387a62df Binary files /dev/null and b/research/subspace16-r420-validation/macos-python314/bit-r420/replay/v9/hosted/GLOBAL-TEMPLATE.json.gz differ diff --git a/research/subspace16-r420-validation/macos-python314/bit-r420/replay/v9/nine/GEOMETRY.json b/research/subspace16-r420-validation/macos-python314/bit-r420/replay/v9/nine/GEOMETRY.json new file mode 100644 index 0000000000..a8508b6547 --- /dev/null +++ b/research/subspace16-r420-validation/macos-python314/bit-r420/replay/v9/nine/GEOMETRY.json @@ -0,0 +1,374726 @@ +{ + "status": "PASS_COMPRESSED_NINE_BIT_GEOMETRY_AND_BANK_BLOCKS", + "h": 8, + "m": 64, + "stages": 9, + "word_sha256": "1fb726ea3818fe0837cceb0dd22a71a0814f064e5e781628104610d6468e0e55", + "ports": [ + { + "port": 0, + "q": [ + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "complement_columns": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1", + "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", + "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", + "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", + "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", + "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", + "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", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ] + ] + } + ] + }, + { + "port": 1, + "q": [ + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "complement_columns": [ + [ + "1", + "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", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "-1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1", + "0" + ] + ], + "rho15": [ + [ + "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", + "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", + "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", + "-1" + ], + [ + "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", + "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", + "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", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "-1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 13, + 7, + null + ], + [ + "scale", + 7, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "scale", + 14, + null, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 13, + 7, + null + ], + [ + "scale", + 7, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "scale", + 14, + null, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 13, + 7, + null + ], + [ + "scale", + 7, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "scale", + 14, + null, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 13, + 7, + null + ], + [ + "scale", + 7, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "scale", + 14, + null, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 13, + 7, + null + ], + [ + "scale", + 7, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "scale", + 14, + null, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 13, + 7, + null + ], + [ + "scale", + 7, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "scale", + 14, + null, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 13, + 7, + null + ], + [ + "scale", + 7, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "scale", + 14, + null, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 13, + 7, + null + ], + [ + "scale", + 7, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "scale", + 14, + null, + "-1" + ] + ] + } + ] + }, + { + "port": 2, + "q": [ + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0 + ], + "complement_columns": [ + [ + "0", + "1", + "0", + "0", + "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", + "-1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "-1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "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", + "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", + "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", + "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", + "1" + ], + [ + "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", + "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", + "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", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 13, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 11, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 13, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 11, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 13, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 11, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 13, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 11, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 13, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 11, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 13, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 11, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 13, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 11, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 13, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 11, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + } + ] + }, + { + "port": 3, + "q": [ + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0 + ], + "complement_columns": [ + [ + "0", + "0", + "1", + "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", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "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", + "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", + "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" + ], + [ + "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", + "-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", + "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", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 10, + 0, + null + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 10, + 0, + null + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 10, + 0, + null + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 10, + 0, + null + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 10, + 0, + null + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 10, + 0, + null + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 10, + 0, + null + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 10, + 0, + null + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ] + ] + } + ] + }, + { + "port": 4, + "q": [ + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0 + ], + "complement_columns": [ + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "1", + "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", + "-1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "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" + ], + [ + "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", + "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", + "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", + "1" + ], + [ + "0", + "1", + "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", + "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", + "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", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 13, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 9, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 13, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 9, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 13, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 9, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 13, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 9, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 13, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 9, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 13, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 9, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 13, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 9, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 13, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 9, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + } + ] + }, + { + "port": 5, + "q": [ + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0 + ], + "complement_columns": [ + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "-1", + "0", + "0", + "0" + ], + [ + "0", + "1", + "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", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "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", + "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", + "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", + "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", + "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", + "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" + ], + [ + "1", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 12, + 0, + null + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 12, + 0, + null + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 12, + 0, + null + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 12, + 0, + null + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 12, + 0, + null + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 12, + 0, + null + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 12, + 0, + null + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 12, + 0, + null + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + } + ] + }, + { + "port": 6, + "q": [ + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0 + ], + "complement_columns": [ + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "-1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "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", + "1" + ] + ], + "rho15": [ + [ + "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", + "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" + ], + [ + "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", + "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", + "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", + "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", + "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", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 13, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 13, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 13, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 13, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 13, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 13, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 13, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 13, + 0, + null + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ] + ] + } + ] + }, + { + "port": 7, + "q": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2 + ], + "complement_columns": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "-1", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "rho15": [ + [ + "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", + "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", + "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" + ], + [ + "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", + "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", + "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", + "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", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 14, + 0, + null + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 14, + 0, + null + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 14, + 0, + null + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 14, + 0, + null + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 14, + 0, + null + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 14, + 0, + null + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 14, + 0, + null + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 14, + 0, + null + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ] + ] + } + ] + }, + { + "port": 8, + "q": [ + 0, + 1, + 1, + 0, + 1, + 0, + 0, + 1 + ], + "complement_columns": [ + [ + "1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "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", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 9, + "q": [ + 0, + 1, + 1, + 0, + 1, + 0, + 0, + -1 + ], + "complement_columns": [ + [ + "1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "-1/4", + "-1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "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", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 10, + "q": [ + 0, + 1, + 1, + 0, + -1, + 0, + 0, + 1 + ], + "complement_columns": [ + [ + "1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "1/4", + "1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "0", + "1/4", + "1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "-1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "1/4", + "1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 11, + "q": [ + 0, + 1, + 1, + 0, + -1, + 0, + 0, + -1 + ], + "complement_columns": [ + [ + "1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "1/4", + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "0", + "1/4", + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "-1/4", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "-2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "-2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 12, + "q": [ + 0, + 1, + -1, + 0, + 1, + 0, + 0, + 1 + ], + "complement_columns": [ + [ + "-1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 13, + "q": [ + 0, + 1, + -1, + 0, + 1, + 0, + 0, + -1 + ], + "complement_columns": [ + [ + "-1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 14, + "q": [ + 0, + 1, + -1, + 0, + -1, + 0, + 0, + 1 + ], + "complement_columns": [ + [ + "-1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "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", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 15, + "q": [ + 0, + 1, + -1, + 0, + -1, + 0, + 0, + -1 + ], + "complement_columns": [ + [ + "-1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "-1/4", + "0", + "0", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "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", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 16, + "q": [ + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0 + ], + "complement_columns": [ + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "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" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "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", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 17, + "q": [ + 1, + 0, + 1, + 0, + 1, + 0, + -1, + 0 + ], + "complement_columns": [ + [ + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "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" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "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", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 18, + "q": [ + 1, + 0, + 1, + 0, + -1, + 0, + 1, + 0 + ], + "complement_columns": [ + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "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" + ], + [ + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 19, + "q": [ + 1, + 0, + 1, + 0, + -1, + 0, + -1, + 0 + ], + "complement_columns": [ + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "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" + ], + [ + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 20, + "q": [ + 1, + 0, + -1, + 0, + 1, + 0, + 1, + 0 + ], + "complement_columns": [ + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "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" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 21, + "q": [ + 1, + 0, + -1, + 0, + 1, + 0, + -1, + 0 + ], + "complement_columns": [ + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "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" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 22, + "q": [ + 1, + 0, + -1, + 0, + -1, + 0, + 1, + 0 + ], + "complement_columns": [ + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "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" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "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", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 23, + "q": [ + 1, + 0, + -1, + 0, + -1, + 0, + -1, + 0 + ], + "complement_columns": [ + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "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" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "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", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 6, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 24, + "q": [ + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 1 + ], + "complement_columns": [ + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "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", + "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/4", + "1/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 25, + "q": [ + 1, + 1, + 0, + 0, + 0, + 0, + 1, + -1 + ], + "complement_columns": [ + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "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", + "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/4", + "1/4", + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "-1/4", + "-1/4", + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 26, + "q": [ + 1, + 1, + 0, + 0, + 0, + 0, + -1, + 1 + ], + "complement_columns": [ + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "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", + "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/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 27, + "q": [ + 1, + 1, + 0, + 0, + 0, + 0, + -1, + -1 + ], + "complement_columns": [ + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/4", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/4", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "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", + "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/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "-1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 28, + "q": [ + 1, + -1, + 0, + 0, + 0, + 0, + 1, + 1 + ], + "complement_columns": [ + [ + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/4", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "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", + "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/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 29, + "q": [ + 1, + -1, + 0, + 0, + 0, + 0, + 1, + -1 + ], + "complement_columns": [ + [ + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "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", + "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/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 30, + "q": [ + 1, + -1, + 0, + 0, + 0, + 0, + -1, + 1 + ], + "complement_columns": [ + [ + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "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", + "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/4", + "1/4", + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 14, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 31, + "q": [ + 1, + -1, + 0, + 0, + 0, + 0, + -1, + -1 + ], + "complement_columns": [ + [ + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "-1/4", + "-1/4", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "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", + "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/4", + "1/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 13, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 8, + 6, + null + ], + [ + "scale", + 6, + null, + "-1" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 14, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "scale", + 13, + null, + "-1" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 14, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 32, + "q": [ + 1, + 1, + 0, + 0, + 1, + 1, + 0, + 0 + ], + "complement_columns": [ + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "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", + "0", + "0" + ], + [ + "1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "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" + ], + [ + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + } + ] + }, + { + "port": 33, + "q": [ + 1, + 1, + 0, + 0, + 1, + -1, + 0, + 0 + ], + "complement_columns": [ + [ + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "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", + "0", + "0" + ], + [ + "1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "-1/4", + "-1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "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" + ], + [ + "1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + } + ] + }, + { + "port": 34, + "q": [ + 1, + 1, + 0, + 0, + -1, + 1, + 0, + 0 + ], + "complement_columns": [ + [ + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "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", + "0", + "0" + ], + [ + "-1/4", + "-1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "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" + ], + [ + "1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + } + ] + }, + { + "port": 35, + "q": [ + 1, + 1, + 0, + 0, + -1, + -1, + 0, + 0 + ], + "complement_columns": [ + [ + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "1/4", + "1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "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", + "0", + "0" + ], + [ + "-1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "-1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "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" + ], + [ + "1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + } + ] + }, + { + "port": 36, + "q": [ + 1, + -1, + 0, + 0, + 1, + 1, + 0, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "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", + "0", + "0" + ], + [ + "1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "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" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + } + ] + }, + { + "port": 37, + "q": [ + 1, + -1, + 0, + 0, + 1, + -1, + 0, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "-1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "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", + "0", + "0" + ], + [ + "1/4", + "-1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "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" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 1, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + } + ] + }, + { + "port": 38, + "q": [ + 1, + -1, + 0, + 0, + -1, + 1, + 0, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "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", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "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" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 4, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ] + ] + } + ] + }, + { + "port": 39, + "q": [ + 1, + -1, + 0, + 0, + -1, + -1, + 0, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "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", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "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" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 11, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 8, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 1, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 4, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ] + ] + } + ] + }, + { + "port": 40, + "q": [ + 1, + 0, + 1, + 0, + 0, + 1, + 0, + 1 + ], + "complement_columns": [ + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "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", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 41, + "q": [ + 1, + 0, + 1, + 0, + 0, + 1, + 0, + -1 + ], + "complement_columns": [ + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "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", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "-1/4", + "0", + "-1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 42, + "q": [ + 1, + 0, + 1, + 0, + 0, + -1, + 0, + 1 + ], + "complement_columns": [ + [ + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "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", + "0" + ], + [ + "-1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 43, + "q": [ + 1, + 0, + 1, + 0, + 0, + -1, + 0, + -1 + ], + "complement_columns": [ + [ + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "-1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "-1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "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", + "0" + ], + [ + "-1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "-1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 44, + "q": [ + 1, + 0, + -1, + 0, + 0, + 1, + 0, + 1 + ], + "complement_columns": [ + [ + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "-1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "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", + "0" + ], + [ + "1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 45, + "q": [ + 1, + 0, + -1, + 0, + 0, + 1, + 0, + -1 + ], + "complement_columns": [ + [ + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "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", + "0" + ], + [ + "1/4", + "0", + "-1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 46, + "q": [ + 1, + 0, + -1, + 0, + 0, + -1, + 0, + 1 + ], + "complement_columns": [ + [ + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "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", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 47, + "q": [ + 1, + 0, + -1, + 0, + 0, + -1, + 0, + -1 + ], + "complement_columns": [ + [ + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/4", + "0", + "-1/4", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "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", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "-1/4", + "0", + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 48, + "q": [ + 0, + 1, + 1, + 0, + 0, + 1, + 1, + 0 + ], + "complement_columns": [ + [ + "1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 49, + "q": [ + 0, + 1, + 1, + 0, + 0, + 1, + -1, + 0 + ], + "complement_columns": [ + [ + "1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "-1/4", + "-1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 50, + "q": [ + 0, + 1, + 1, + 0, + 0, + -1, + 1, + 0 + ], + "complement_columns": [ + [ + "1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 51, + "q": [ + 0, + 1, + 1, + 0, + 0, + -1, + -1, + 0 + ], + "complement_columns": [ + [ + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 2, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "-1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "-1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 52, + "q": [ + 0, + 1, + -1, + 0, + 0, + 1, + 1, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 53, + "q": [ + 0, + 1, + -1, + 0, + 0, + 1, + -1, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 2, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 54, + "q": [ + 0, + 1, + -1, + 0, + 0, + -1, + 1, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "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", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 55, + "q": [ + 0, + 1, + -1, + 0, + 0, + -1, + -1, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "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", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 2, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 1, + 2, + "1" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 1, + 4, + "1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 8, + 9, + "1" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 8, + 11, + "1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 2, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 56, + "q": [ + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ], + "complement_columns": [ + [ + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "1/2" + ], + [ + "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/2", + "1/2", + "-1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "1/4", + "1/4", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "1/4", + "1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "1/4", + "1/4", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "1/4", + "1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 57, + "q": [ + 0, + 0, + 0, + 0, + 1, + 1, + 1, + -1 + ], + "complement_columns": [ + [ + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "-1/2" + ], + [ + "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/2", + "1/2", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "1/4", + "-1/4", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "1/4", + "-1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "1/4", + "-1/4", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "-1/4", + "-1/4", + "1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 58, + "q": [ + 0, + 0, + 0, + 0, + 1, + 1, + -1, + 1 + ], + "complement_columns": [ + [ + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "1/2" + ], + [ + "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/2", + "1/2", + "1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "-1/4", + "1/4", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "-1/4", + "1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "-1/4", + "1/4", + "-1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "-1/4", + "1/4", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 59, + "q": [ + 0, + 0, + 0, + 0, + 1, + 1, + -1, + -1 + ], + "complement_columns": [ + [ + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "-1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "-1/2" + ], + [ + "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/2", + "1/2", + "1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "-1/4", + "-1/4", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "1/4", + "-1/4", + "-1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "-1/4", + "1/4", + "1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "-1/4", + "1/4", + "1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "-1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 60, + "q": [ + 0, + 0, + 0, + 0, + 1, + -1, + 1, + 1 + ], + "complement_columns": [ + [ + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "1/2" + ], + [ + "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/2", + "-1/2", + "-1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "1/4", + "1/4", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "-1/4", + "-1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "1/4", + "1/4", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "1/4", + "1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 61, + "q": [ + 0, + 0, + 0, + 0, + 1, + -1, + 1, + -1 + ], + "complement_columns": [ + [ + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "-1/2" + ], + [ + "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/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "1/4", + "-1/4", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "-1/4", + "1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "1/4", + "-1/4", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "-1/4", + "1/4", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "-1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 62, + "q": [ + 0, + 0, + 0, + 0, + 1, + -1, + -1, + 1 + ], + "complement_columns": [ + [ + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "1/2" + ], + [ + "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/2", + "-1/2", + "1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "-1/4", + "1/4", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "1/4", + "-1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "1/4", + "-1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "-1/4", + "1/4", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "-1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 2, + 7, + "1" + ], + [ + "add", + 5, + 7, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 14, + 9, + "-1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "-1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "1" + ], + [ + "add", + 12, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 63, + "q": [ + 0, + 0, + 0, + 0, + 1, + -1, + -1, + -1 + ], + "complement_columns": [ + [ + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "-1/2" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "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/2", + "-1/2", + "1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1/4", + "-1/4", + "-1/4", + "-1/4", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "1/4", + "1/4", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "1/4", + "1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/4", + "1/4", + "1/4", + "1/4", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 11, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 12, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 4, + null, + "4" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 5, + 4, + "1/4" + ], + [ + "add", + 6, + 4, + "1/4" + ], + [ + "add", + 7, + 4, + "1/4" + ], + [ + "add", + 9, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 9, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 2, + 7, + "-1" + ], + [ + "add", + 5, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 14, + 9, + "1" + ], + [ + "scale", + 11, + null, + "2" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 5, + 11, + "1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 7, + 11, + "1/4" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 12, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 9, + 14, + "-1" + ], + [ + "add", + 12, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 64, + "q": [ + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0 + ], + "complement_columns": [ + [ + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "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" + ], + [ + "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" + ], + [ + "1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "-1/2", + "1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + } + ] + }, + { + "port": 65, + "q": [ + 1, + 1, + 1, + -1, + 0, + 0, + 0, + 0 + ], + "complement_columns": [ + [ + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "-1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "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" + ], + [ + "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" + ], + [ + "1/2", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "1/2", + "1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + } + ] + }, + { + "port": 66, + "q": [ + 1, + 1, + -1, + 1, + 0, + 0, + 0, + 0 + ], + "complement_columns": [ + [ + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "-1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "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" + ], + [ + "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" + ], + [ + "1/2", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "1/2", + "1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + } + ] + }, + { + "port": 67, + "q": [ + 1, + 1, + -1, + -1, + 0, + 0, + 0, + 0 + ], + "complement_columns": [ + [ + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "1/4", + "-1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "1/4", + "-1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "-1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "-1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "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" + ], + [ + "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" + ], + [ + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "-1/2", + "1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "-1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "-1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "-1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + } + ] + }, + { + "port": 68, + "q": [ + 1, + -1, + 1, + 1, + 0, + 0, + 0, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "-1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "-1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "-1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "-1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "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" + ], + [ + "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" + ], + [ + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "-1/2", + "1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + } + ] + }, + { + "port": 69, + "q": [ + 1, + -1, + 1, + -1, + 0, + 0, + 0, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "-1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "-1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "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" + ], + [ + "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" + ], + [ + "-1/2", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "1/2", + "1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "-1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "-1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 0, + 9, + "-1/2" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + } + ] + }, + { + "port": 70, + "q": [ + 1, + -1, + -1, + 1, + 0, + 0, + 0, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "-1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/4", + "-1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "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" + ], + [ + "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" + ], + [ + "-1/2", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ] + ] + } + ] + }, + { + "port": 71, + "q": [ + 1, + -1, + -1, + -1, + 0, + 0, + 0, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "-1/4", + "-1/4", + "-1/4", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "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" + ], + [ + "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" + ], + [ + "-1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "1/2", + "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", + "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", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 1, + 0, + "1/4" + ], + [ + "add", + 2, + 0, + "1/4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 8, + 0, + "1/2" + ], + [ + "add", + 9, + 0, + "1/2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "swap", + 9, + 1, + null + ], + [ + "scale", + 1, + null, + "-1" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "swap", + 8, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "1" + ], + [ + "add", + 10, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-1" + ], + [ + "add", + 0, + 8, + "1/2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 2, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 0, + 9, + "1/2" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ] + ] + } + ] + }, + { + "port": 72, + "q": [ + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 1 + ], + "complement_columns": [ + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "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", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "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" + ], + [ + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "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" + ], + [ + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 73, + "q": [ + 1, + 0, + 0, + 1, + 1, + 0, + 0, + -1 + ], + "complement_columns": [ + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "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", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "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" + ], + [ + "-1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "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" + ], + [ + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 74, + "q": [ + 1, + 0, + 0, + 1, + -1, + 0, + 0, + 1 + ], + "complement_columns": [ + [ + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "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", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "-1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "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" + ], + [ + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "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" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 75, + "q": [ + 1, + 0, + 0, + 1, + -1, + 0, + 0, + -1 + ], + "complement_columns": [ + [ + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "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", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "-1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "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" + ], + [ + "-1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "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" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 76, + "q": [ + 1, + 0, + 0, + -1, + 1, + 0, + 0, + 1 + ], + "complement_columns": [ + [ + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "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", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "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" + ], + [ + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "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" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 77, + "q": [ + 1, + 0, + 0, + -1, + 1, + 0, + 0, + -1 + ], + "complement_columns": [ + [ + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/4", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "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", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "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" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "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" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "-1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 0, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 78, + "q": [ + 1, + 0, + 0, + -1, + -1, + 0, + 0, + 1 + ], + "complement_columns": [ + [ + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/4", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "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", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "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" + ], + [ + "1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "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" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "1/2" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 4, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 79, + "q": [ + 1, + 0, + 0, + -1, + -1, + 0, + 0, + -1 + ], + "complement_columns": [ + [ + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "-1/4", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "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", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "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" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "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" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "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", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 4, + 0, + "1/4" + ], + [ + "add", + 7, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 11, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 10, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 0, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "-1/2" + ], + [ + "add", + 7, + 11, + "-1/2" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 0, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 4, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 80, + "q": [ + 0, + 1, + 0, + 1, + 1, + 0, + 1, + 0 + ], + "complement_columns": [ + [ + "1/2", + "0", + "1/2", + "1/2", + "0", + "1/2", + "0" + ], + [ + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "1/2", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 81, + "q": [ + 0, + 1, + 0, + 1, + 1, + 0, + -1, + 0 + ], + "complement_columns": [ + [ + "1/2", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "-1/4", + "0", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "-1/4", + "0", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "-1/4", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "1/2", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 82, + "q": [ + 0, + 1, + 0, + 1, + -1, + 0, + 1, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "-1/4", + "0", + "1/4", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "-1/4", + "0", + "1/4", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "-1/4", + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "-1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 83, + "q": [ + 0, + 1, + 0, + 1, + -1, + 0, + -1, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "0" + ], + [ + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "-1/4", + "0", + "-1/4", + "0", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "-1/4", + "0", + "-1/4", + "0", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "-1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "-1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "-1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 84, + "q": [ + 0, + 1, + 0, + -1, + 1, + 0, + 1, + 0 + ], + "complement_columns": [ + [ + "1/2", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "1/4", + "0", + "1/4", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "-1/4", + "0", + "-1/4", + "0", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 85, + "q": [ + 0, + 1, + 0, + -1, + 1, + 0, + -1, + 0 + ], + "complement_columns": [ + [ + "1/2", + "0", + "-1/2", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "1/4", + "0", + "-1/4", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "-1/4", + "0", + "1/4", + "0", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "-1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "-1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "-1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "-1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "-1/4" + ], + [ + "add", + 3, + 11, + "1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "-1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 86, + "q": [ + 0, + 1, + 0, + -1, + -1, + 0, + 1, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "-1/4", + "0", + "1/4", + "0", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "1/4", + "0", + "-1/4", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "-1/2", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "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", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "-1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "-1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 87, + "q": [ + 0, + 1, + 0, + -1, + -1, + 0, + -1, + 0 + ], + "complement_columns": [ + [ + "-1/2", + "0", + "1/2", + "1/2", + "0", + "1/2", + "0" + ], + [ + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "-1/4", + "0", + "-1/4", + "0", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "-1/2", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "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", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "-2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 4, + 1, + "1/4" + ], + [ + "add", + 6, + 1, + "1/4" + ], + [ + "add", + 9, + 1, + "1/2" + ], + [ + "add", + 10, + 1, + "-1" + ], + [ + "add", + 11, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "-1/2" + ], + [ + "swap", + 11, + 2, + null + ], + [ + "scale", + 2, + null, + "-1" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "scale", + 3, + null, + "1/2" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "swap", + 9, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 0, + 4, + "-1/2" + ], + [ + "add", + 1, + 4, + "1/2" + ], + [ + "add", + 2, + 4, + "1/2" + ], + [ + "add", + 3, + 4, + "-1/2" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 8, + null, + "-2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 4, + 8, + "1/2" + ], + [ + "add", + 6, + 8, + "1/2" + ], + [ + "add", + 9, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1" + ], + [ + "add", + 11, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "-1/2" + ], + [ + "scale", + 9, + null, + "-1" + ], + [ + "add", + 1, + 9, + "1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "scale", + 10, + null, + "1/2" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 1, + 11, + "1/4" + ], + [ + "add", + 3, + 11, + "-1/4" + ], + [ + "add", + 4, + 11, + "-1/4" + ], + [ + "add", + 6, + 11, + "-1/4" + ], + [ + "add", + 8, + 11, + "1/2" + ], + [ + "add", + 9, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1/2" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 88, + "q": [ + 0, + 0, + 1, + 1, + 0, + 0, + 1, + 1 + ], + "complement_columns": [ + [ + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 89, + "q": [ + 0, + 0, + 1, + 1, + 0, + 0, + 1, + -1 + ], + "complement_columns": [ + [ + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 90, + "q": [ + 0, + 0, + 1, + 1, + 0, + 0, + -1, + 1 + ], + "complement_columns": [ + [ + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 91, + "q": [ + 0, + 0, + 1, + 1, + 0, + 0, + -1, + -1 + ], + "complement_columns": [ + [ + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 92, + "q": [ + 0, + 0, + 1, + -1, + 0, + 0, + 1, + 1 + ], + "complement_columns": [ + [ + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 93, + "q": [ + 0, + 0, + 1, + -1, + 0, + 0, + 1, + -1 + ], + "complement_columns": [ + [ + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "-1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 2, + 6, + "-1" + ], + [ + "add", + 4, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "-1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "-1" + ], + [ + "add", + 11, + 13, + "-1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 94, + "q": [ + 0, + 0, + 1, + -1, + 0, + 0, + -1, + 1 + ], + "complement_columns": [ + [ + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "-1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "-1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 3, + 7, + "1" + ], + [ + "add", + 4, + 7, + "1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 6, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "1" + ], + [ + "add", + 11, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 95, + "q": [ + 0, + 0, + 1, + -1, + 0, + 0, + -1, + -1 + ], + "complement_columns": [ + [ + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "0", + "0", + "-1/4", + "-1/4", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "0", + "0", + "1/4", + "1/4", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 6, + 2, + "1/4" + ], + [ + "add", + 7, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "-1" + ], + [ + "add", + 14, + 2, + "-1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "scale", + 4, + null, + "-1" + ], + [ + "add", + 2, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "add", + 14, + 4, + "1" + ], + [ + "swap", + 12, + 5, + null + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 2, + 6, + "1" + ], + [ + "add", + 4, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 3, + 7, + "-1" + ], + [ + "add", + 4, + 7, + "-1" + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 6, + 9, + "1/2" + ], + [ + "add", + 7, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1" + ], + [ + "add", + 14, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 11, + null, + "-1" + ], + [ + "add", + 9, + 11, + "1" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "add", + 14, + 11, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 9, + 13, + "1" + ], + [ + "add", + 11, + 13, + "1" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 2, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 6, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 10, + 14, + "-1" + ], + [ + "add", + 11, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 96, + "q": [ + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0 + ], + "complement_columns": [ + [ + "0", + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "1/2", + "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" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 97, + "q": [ + 0, + 0, + 1, + 1, + 1, + -1, + 0, + 0 + ], + "complement_columns": [ + [ + "0", + "1/2", + "1/2", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "-1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "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" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 98, + "q": [ + 0, + 0, + 1, + 1, + -1, + 1, + 0, + 0 + ], + "complement_columns": [ + [ + "0", + "1/2", + "1/2", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "-1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "1/2", + "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" + ], + [ + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 99, + "q": [ + 0, + 0, + 1, + 1, + -1, + -1, + 0, + 0 + ], + "complement_columns": [ + [ + "0", + "1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "-1/2", + "1/2", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "-1/4", + "-1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "1/4", + "-1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "-1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "-1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "1/2", + "-1/2", + "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" + ], + [ + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "-1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 2, + 3, + "-1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "-1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "-1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "-1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 100, + "q": [ + 0, + 0, + 1, + -1, + 1, + 1, + 0, + 0 + ], + "complement_columns": [ + [ + "0", + "1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "-1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "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" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 101, + "q": [ + 0, + 0, + 1, + -1, + 1, + -1, + 0, + 0 + ], + "complement_columns": [ + [ + "0", + "1/2", + "-1/2", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "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" + ], + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "-1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "1" + ], + [ + "add", + 3, + 4, + "1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "-1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "1/2" + ], + [ + "add", + 3, + 11, + "-1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "1" + ], + [ + "add", + 12, + 11, + "1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 102, + "q": [ + 0, + 0, + 1, + -1, + -1, + 1, + 0, + 0 + ], + "complement_columns": [ + [ + "0", + "1/2", + "-1/2", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "-1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "1/4", + "-1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "-1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "1/2", + "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" + ], + [ + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "-1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "1/2" + ], + [ + "add", + 2, + 5, + "-1" + ], + [ + "add", + 3, + 5, + "-1" + ], + [ + "add", + 4, + 5, + "1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "-1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "-1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "1" + ], + [ + "scale", + 12, + null, + "1/2" + ], + [ + "add", + 9, + 12, + "-1" + ], + [ + "add", + 10, + 12, + "-1" + ], + [ + "add", + 11, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 103, + "q": [ + 0, + 0, + 1, + -1, + -1, + -1, + 0, + 0 + ], + "complement_columns": [ + [ + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "-1/2", + "-1/2", + "1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/4", + "-1/4", + "-1/4", + "-1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/4", + "1/4", + "1/4", + "1/4", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "-1/2", + "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" + ], + [ + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "-1/2", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 9, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 11, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "scale", + 2, + null, + "4" + ], + [ + "add", + 0, + 2, + "-1" + ], + [ + "add", + 3, + 2, + "1/4" + ], + [ + "add", + 4, + 2, + "1/4" + ], + [ + "add", + 5, + 2, + "1/4" + ], + [ + "add", + 10, + 2, + "-1/2" + ], + [ + "add", + 11, + 2, + "-1" + ], + [ + "add", + 12, + 2, + "-1/2" + ], + [ + "add", + 13, + 2, + "1/2" + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 2, + 3, + "1" + ], + [ + "add", + 11, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "add", + 0, + 4, + "-1" + ], + [ + "add", + 3, + 4, + "-1" + ], + [ + "add", + 12, + 4, + "-1" + ], + [ + "add", + 13, + 4, + "-1" + ], + [ + "swap", + 13, + 5, + null + ], + [ + "scale", + 5, + null, + "-1/2" + ], + [ + "add", + 2, + 5, + "1" + ], + [ + "add", + 3, + 5, + "1" + ], + [ + "add", + 4, + 5, + "-1" + ], + [ + "swap", + 12, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 9, + null, + "2" + ], + [ + "add", + 2, + 9, + "-1/2" + ], + [ + "add", + 3, + 9, + "1/2" + ], + [ + "add", + 4, + 9, + "1/2" + ], + [ + "add", + 5, + 9, + "1/2" + ], + [ + "add", + 10, + 9, + "-1/2" + ], + [ + "add", + 11, + 9, + "-1" + ], + [ + "add", + 12, + 9, + "1/2" + ], + [ + "add", + 13, + 9, + "-1/2" + ], + [ + "add", + 2, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 4, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 9, + 10, + "1" + ], + [ + "add", + 11, + 10, + "-1" + ], + [ + "add", + 12, + 10, + "1" + ], + [ + "add", + 2, + 11, + "-1/2" + ], + [ + "add", + 3, + 11, + "1/2" + ], + [ + "add", + 4, + 11, + "1/2" + ], + [ + "add", + 5, + 11, + "1/2" + ], + [ + "add", + 10, + 11, + "-1" + ], + [ + "add", + 12, + 11, + "-1" + ], + [ + "add", + 13, + 11, + "-1" + ], + [ + "scale", + 12, + null, + "-1/2" + ], + [ + "add", + 9, + 12, + "1" + ], + [ + "add", + 10, + 12, + "1" + ], + [ + "add", + 11, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 2, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 4, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 104, + "q": [ + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1 + ], + "complement_columns": [ + [ + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "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", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 105, + "q": [ + 0, + 1, + 0, + 1, + 0, + 1, + 0, + -1 + ], + "complement_columns": [ + [ + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "-1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "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", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 106, + "q": [ + 0, + 1, + 0, + 1, + 0, + -1, + 0, + 1 + ], + "complement_columns": [ + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "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", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 107, + "q": [ + 0, + 1, + 0, + 1, + 0, + -1, + 0, + -1 + ], + "complement_columns": [ + [ + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "-1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "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", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "-1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 1, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "-1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "-1" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 108, + "q": [ + 0, + 1, + 0, + -1, + 0, + 1, + 0, + 1 + ], + "complement_columns": [ + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "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", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 109, + "q": [ + 0, + 1, + 0, + -1, + 0, + 1, + 0, + -1 + ], + "complement_columns": [ + [ + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "-1/2" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "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", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "-1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 1, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "-1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "-1" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 110, + "q": [ + 0, + 1, + 0, + -1, + 0, + -1, + 0, + 1 + ], + "complement_columns": [ + [ + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "-1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "1/4", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "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", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "-1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "-1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "1" + ], + [ + "add", + 1, + 7, + "-1" + ], + [ + "add", + 6, + 7, + "-1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "-1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "-1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "-1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "-1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "1/2" + ], + [ + "add", + 3, + 14, + "-1/2" + ], + [ + "add", + 5, + 14, + "-1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "-1" + ], + [ + "add", + 13, + 14, + "-1" + ] + ] + } + ] + }, + { + "port": 111, + "q": [ + 0, + 1, + 0, + -1, + 0, + -1, + 0, + -1 + ], + "complement_columns": [ + [ + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ] + ], + "rho15": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2" + ], + [ + "0", + "1/4", + "0", + "-1/4", + "0", + "-1/4", + "0", + "-1/4", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2" + ], + [ + "0", + "-1/4", + "0", + "1/4", + "0", + "1/4", + "0", + "1/4", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2" + ], + [ + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "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", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "-1/2", + "0", + "-1/2", + "0", + "-1/2", + "0", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "swap", + 8, + 0, + null + ], + [ + "scale", + 0, + null, + "2" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 14, + 0, + "1/2" + ], + [ + "scale", + 1, + null, + "4" + ], + [ + "add", + 0, + 1, + "-1" + ], + [ + "add", + 3, + 1, + "1/4" + ], + [ + "add", + 5, + 1, + "1/4" + ], + [ + "add", + 7, + 1, + "1/4" + ], + [ + "add", + 10, + 1, + "-1/2" + ], + [ + "add", + 12, + 1, + "-1/2" + ], + [ + "add", + 13, + 1, + "1/2" + ], + [ + "add", + 14, + 1, + "-1" + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 10, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 1, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "add", + 14, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 12, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 1, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "add", + 14, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "-1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 1, + 6, + "2" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "add", + 14, + 6, + "-2" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 7, + null, + "1/2" + ], + [ + "add", + 0, + 7, + "-1" + ], + [ + "add", + 1, + 7, + "1" + ], + [ + "add", + 6, + 7, + "1" + ], + [ + "scale", + 8, + null, + "2" + ], + [ + "add", + 1, + 8, + "-1/2" + ], + [ + "add", + 3, + 8, + "1/2" + ], + [ + "add", + 5, + 8, + "1/2" + ], + [ + "add", + 7, + 8, + "1/2" + ], + [ + "add", + 10, + 8, + "-1/2" + ], + [ + "add", + 12, + 8, + "-1/2" + ], + [ + "add", + 13, + 8, + "1/2" + ], + [ + "add", + 14, + 8, + "-1" + ], + [ + "add", + 1, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 7, + 10, + "1/2" + ], + [ + "add", + 8, + 10, + "1" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 14, + 10, + "-1" + ], + [ + "add", + 1, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "1/2" + ], + [ + "add", + 7, + 12, + "1/2" + ], + [ + "add", + 8, + 12, + "1" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "add", + 14, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "-1/2" + ], + [ + "add", + 1, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 7, + 13, + "1/2" + ], + [ + "add", + 8, + 13, + "2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ], + [ + "add", + 14, + 13, + "-2" + ], + [ + "scale", + 14, + null, + "1/2" + ], + [ + "add", + 1, + 14, + "-1/2" + ], + [ + "add", + 3, + 14, + "1/2" + ], + [ + "add", + 5, + 14, + "1/2" + ], + [ + "add", + 7, + 14, + "1/2" + ], + [ + "add", + 8, + 14, + "1" + ], + [ + "add", + 13, + 14, + "1" + ] + ] + } + ] + }, + { + "port": 112, + "q": [ + 1, + 0, + 0, + 1, + 0, + 1, + 1, + 0 + ], + "complement_columns": [ + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "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", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "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", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "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", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 113, + "q": [ + 1, + 0, + 0, + 1, + 0, + 1, + -1, + 0 + ], + "complement_columns": [ + [ + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "-1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "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", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "-1/4", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "-1/4", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "-1/4", + "0", + "0", + "-1/4", + "0", + "-1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "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", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "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", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 114, + "q": [ + 1, + 0, + 0, + 1, + 0, + -1, + 1, + 0 + ], + "complement_columns": [ + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "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", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "-1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "1/4", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "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", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "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", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 115, + "q": [ + 1, + 0, + 0, + 1, + 0, + -1, + -1, + 0 + ], + "complement_columns": [ + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "-1/4", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "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", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "-1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "-1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "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", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "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", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "-1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "-1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "-1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "-1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 116, + "q": [ + 1, + 0, + 0, + -1, + 0, + 1, + 1, + 0 + ], + "complement_columns": [ + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "1/4", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "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", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "-1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "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", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "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", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + } + ] + }, + { + "port": 117, + "q": [ + 1, + 0, + 0, + -1, + 0, + 1, + -1, + 0 + ], + "complement_columns": [ + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "-1/4", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "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", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "1/4", + "0", + "0", + "-1/4", + "0", + "1/4", + "-1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "0", + "-1/4", + "1/4", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "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", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "-1/2", + "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", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "-1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "-1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "add", + 0, + 5, + "-1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "add", + 0, + 12, + "-1/2" + ], + [ + "add", + 3, + 12, + "1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 118, + "q": [ + 1, + 0, + 0, + -1, + 0, + -1, + 1, + 0 + ], + "complement_columns": [ + [ + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "-1/4", + "0", + "-1/4", + "1/4", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "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", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "-1/4", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "-1/4", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0" + ], + [ + "1/4", + "0", + "0", + "-1/4", + "0", + "-1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "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", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "1/2", + "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", + "0", + "0", + "-1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1/2", + "0", + "0", + "1/2", + "0", + "1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "-1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "-1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "-1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "-1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "1" + ], + [ + "add", + 3, + 6, + "1" + ], + [ + "add", + 5, + 6, + "1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "1/2" + ], + [ + "add", + 13, + 10, + "-1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "1/2" + ], + [ + "add", + 13, + 12, + "-1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "1/2" + ], + [ + "add", + 3, + 13, + "-1/2" + ], + [ + "add", + 5, + 13, + "-1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "1" + ], + [ + "add", + 12, + 13, + "1" + ] + ] + } + ] + }, + { + "port": 119, + "q": [ + 1, + 0, + 0, + -1, + 0, + -1, + -1, + 0 + ], + "complement_columns": [ + [ + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ] + ], + "rho15": [ + [ + "1/4", + "0", + "0", + "-1/4", + "0", + "-1/4", + "-1/4", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "-1/2", + "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", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0" + ], + [ + "-1/4", + "0", + "0", + "1/4", + "0", + "1/4", + "1/4", + "0", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "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", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "1/2", + "0", + "-1/2", + "-1/2", + "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", + "0", + "0", + "-1/2", + "0", + "1/2", + "-1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "-1/2", + "0", + "0", + "-1/2", + "0", + "-1/2", + "1/2", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "routes": [ + { + "stage": 0, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "identity": true + }, + { + "stage": 1, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 2, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 3, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 4, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 5, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 6, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 7, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + }, + { + "stage": 8, + "axes": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + "elementary_inverse_replay": [ + [ + "scale", + 0, + null, + "4" + ], + [ + "add", + 3, + 0, + "1/4" + ], + [ + "add", + 5, + 0, + "1/4" + ], + [ + "add", + 6, + 0, + "1/4" + ], + [ + "add", + 10, + 0, + "1/2" + ], + [ + "add", + 12, + 0, + "1/2" + ], + [ + "add", + 13, + 0, + "1/2" + ], + [ + "swap", + 8, + 1, + null + ], + [ + "swap", + 9, + 2, + null + ], + [ + "swap", + 12, + 3, + null + ], + [ + "scale", + 3, + null, + "-1" + ], + [ + "add", + 0, + 3, + "1" + ], + [ + "add", + 13, + 3, + "1" + ], + [ + "swap", + 11, + 4, + null + ], + [ + "swap", + 10, + 5, + null + ], + [ + "scale", + 5, + null, + "-1" + ], + [ + "add", + 0, + 5, + "1" + ], + [ + "add", + 13, + 5, + "1" + ], + [ + "swap", + 13, + 6, + null + ], + [ + "scale", + 6, + null, + "1/2" + ], + [ + "add", + 0, + 6, + "-1" + ], + [ + "add", + 3, + 6, + "-1" + ], + [ + "add", + 5, + 6, + "-1" + ], + [ + "swap", + 14, + 7, + null + ], + [ + "scale", + 10, + null, + "-1" + ], + [ + "add", + 0, + 10, + "1/2" + ], + [ + "add", + 3, + 10, + "-1/2" + ], + [ + "add", + 5, + 10, + "-1/2" + ], + [ + "add", + 6, + 10, + "-1/2" + ], + [ + "add", + 13, + 10, + "1" + ], + [ + "scale", + 12, + null, + "-1" + ], + [ + "add", + 0, + 12, + "1/2" + ], + [ + "add", + 3, + 12, + "-1/2" + ], + [ + "add", + 5, + 12, + "-1/2" + ], + [ + "add", + 6, + 12, + "-1/2" + ], + [ + "add", + 13, + 12, + "1" + ], + [ + "scale", + 13, + null, + "1/2" + ], + [ + "add", + 0, + 13, + "-1/2" + ], + [ + "add", + 3, + 13, + "1/2" + ], + [ + "add", + 5, + 13, + "1/2" + ], + [ + "add", + 6, + 13, + "1/2" + ], + [ + "add", + 10, + 13, + "-1" + ], + [ + "add", + 12, + 13, + "-1" + ] + ] + } + ] + } + ], + "idle_per_port_and_data_member": [ + { + "pair": 1, + "source_level": -1, + "target_level": 1, + "rank": 14, + "phase": "before_positive_bridge" + }, + { + "pair": 1, + "source_level": 1, + "target_level": 2, + "rank": 7, + "phase": "before_negative_bridge" + }, + { + "pair": 2, + "source_level": -1, + "target_level": 3, + "rank": 28, + "phase": "before_positive_bridge" + }, + { + "pair": 2, + "source_level": 3, + "target_level": 4, + "rank": 7, + "phase": "before_negative_bridge" + }, + { + "pair": 3, + "source_level": -1, + "target_level": 5, + "rank": 42, + "phase": "before_positive_bridge" + }, + { + "pair": 3, + "source_level": 5, + "target_level": 6, + "rank": 7, + "phase": "before_negative_bridge" + }, + { + "pair": 0, + "source_level": 2, + "target_level": 8, + "rank": 42, + "phase": "terminal" + }, + { + "pair": 1, + "source_level": 4, + "target_level": 8, + "rank": 28, + "phase": "terminal" + }, + { + "pair": 2, + "source_level": 6, + "target_level": 8, + "rank": 14, + "phase": "terminal" + }, + { + "pair": 3, + "source_level": 8, + "target_level": 8, + "rank": 0, + "phase": "terminal" + } + ], + "local_window": "U direct_sum E_s, with E_s the first s exterior coordinate 7-blocks", + "ambient_form": "I_64/2", + "bank_slots": [ + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + [ + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15 + ], + [ + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23 + ], + [ + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31 + ], + [ + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 + ], + [ + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ], + [ + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55 + ], + [ + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ] + ], + "bank_permutations": [ + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + [ + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + [ + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + [ + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + [ + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + [ + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + [ + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ], + [ + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ] + ], + "route_checks": 1080, + "exact_bit_endpoint_operator_checks": 240, + "max_route_factors": 77, + "route_denominators": [ + 1, + 2, + 4 + ], + "bad_prime_factors": [ + 2 + ], + "missing_route_factor_controls": 120, + "duplicate_bank_slot_rejected": true, + "scope": "All port isometries, stage boundary identities, nested idle ranks, exact bit endpoint operators and bank coordinate slots. Full local-word scalar and chronological lowering are checked separately.", + "seconds": 1.6459629579912871 +} diff --git a/research/subspace16-r420-validation/macos-python314/bit-r420/replay/xcheck.json b/research/subspace16-r420-validation/macos-python314/bit-r420/replay/xcheck.json new file mode 100644 index 0000000000..9937764a51 --- /dev/null +++ b/research/subspace16-r420-validation/macos-python314/bit-r420/replay/xcheck.json @@ -0,0 +1,47 @@ +{ + "status": "PASS_EXACT_REPLAY_AND_INTERLEAVED_INTERFACE", + "hypotheses": { + "H1_no_target_feeds_z": true, + "H2_D_frame0_targets_from_helpers": true, + "H3_A_z_only_scatter_targets_B_split": true, + "H4_C_literal_reverse_at_full": true, + "H5_V_identity": true + }, + "conclusion": { + "U_block_form": true, + "J_identity": true, + "K_equals_D": true, + "C_is_U_inverse": true + }, + "interleaving": { + "z_gates_A": 2064, + "source_writes_A": 0, + "z_gates_B": 597, + "source_writes_B": 597, + "helper_writes_B": 0, + "sources_rewritten_B": 120, + "B_z_write_frame_dims": { + "4": 477, + "6": 120 + }, + "B_z_operand_kinds": { + "source<-helper": 120, + "source<-source": 477 + }, + "B_z_operand_kinds_by_dim": { + "dim4:source<-source": 477, + "dim6:source<-helper": 120 + }, + "B_z_writes_after_a_target_read_of_the_same_register": 597, + "B_target_reads_of_registers_rewritten_earlier_in_B": 120, + "target_reads_of_targets": 0, + "cleanup_gates": 2661 + }, + "gates": { + "D": 120, + "A": 2064, + "B": 837, + "C": 2661 + }, + "columns": 660 +} \ No newline at end of file diff --git a/research/subspace16-r420-validation/macos-python314/complex-audit/ASYNC-AUDIT.json b/research/subspace16-r420-validation/macos-python314/complex-audit/ASYNC-AUDIT.json new file mode 100644 index 0000000000..eea3588698 --- /dev/null +++ b/research/subspace16-r420-validation/macos-python314/complex-audit/ASYNC-AUDIT.json @@ -0,0 +1,47 @@ +{ + "status": "PASS_INDEPENDENT_ASYNC_WHOLE_OWNER_CONTROLLER_PHASES_AND_SPECTATORS", + "template_sha256": "8cea2b4ff1b53c4930d758dbc6d9ba701a543599c450af4d0b4110c358be4e08", + "complex_template_sha256": "8cea2b4ff1b53c4930d758dbc6d9ba701a543599c450af4d0b4110c358be4e08", + "complex_live": 7168, + "complex_profile": { + "1": 165600, + "2": 32128, + "3": 35907, + "4": 13248, + "5": 4032, + "6": 4032, + "7": 208, + "8": 576, + "39": 1, + "48": 1660 + }, + "complex_hosted_residuals": 36288, + "physical": 7682, + "rank_mass": 520704, + "deficit": 2560, + "entering_helper_roles": 15264, + "cross_replica_helper_roles": 28243, + "one_owner_per_complete_invocation": true, + "helper_busy_family_window_checks": 36288, + "complete_invocations": 72, + "actual_orthogonal_73column_maps": 2972, + "actual_sigma_stream_sha256": "8298988ef1499bdb213d932b42a10312ef3184a93558feb4e1b1a91bed68b8b9", + "all_actual_residual_and_spectator_charts": true, + "idle_remainders": 4240, + "mutations_rejected": [ + "alias two whole owners", + "helper on active data family", + "owner in private namespace", + "wrong residual width", + "wrong spectator coordinate", + "omit idle remainder", + "understate physical reserve" + ], + "mutation_controls_run": true, + "widths": { + "5": 56, + "8": 156, + "9": 292 + }, + "scope": "Independent exact asynchronous chronology, per-replica phase projection, owner/chart/paid-profile audit. Uses the new selected local program bound by fresh scalar, phase and residual-wrapper receipts; all-size compilation and complete coefficient invoice are separate inherited obligations." +} diff --git a/research/subspace16-r420-validation/macos-python314/complex-audit/OWNERS-AND-PROFILE.json b/research/subspace16-r420-validation/macos-python314/complex-audit/OWNERS-AND-PROFILE.json new file mode 100644 index 0000000000..1e15c5b650 --- /dev/null +++ b/research/subspace16-r420-validation/macos-python314/complex-audit/OWNERS-AND-PROFILE.json @@ -0,0 +1,40 @@ +{ + "status": "PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE", + "template_sha256": "8cea2b4ff1b53c4930d758dbc6d9ba701a543599c450af4d0b4110c358be4e08", + "paid_profile": { + "1": 165600, + "2": 32128, + "3": 35907, + "4": 13248, + "5": 4032, + "6": 4032, + "7": 208, + "8": 576, + "39": 1, + "48": 1660 + }, + "live": 7168, + "physical": 7682, + "rank_mass": 520704, + "deficit": 2560, + "hosted_residuals": 36288, + "banked_residuals": 0, + "all_live_owners_per_call_distinct": true, + "owners_per_call": 728, + "actual_helper_owner_charts": 36288, + "actual_73column_sigmas": 2972, + "cross_replica_helper_roles": 28243, + "explicit_idle_remainder_children": 4240, + "source_idle_children_charged": 16128, + "source_artifacts": { + "split-centres/CANONICAL-WORD.json.gz": "2c1ae483355a8a91057c08b2faf537cc1842f7fc1fa7a4c12b3aebf4ed8a8ba3", + "split-centres/LOCAL-PROGRAMS.json.gz": "8c4f7b39c473de286bfa8cc66ff8e054410bb14e5efa2e50f75fc48b928859b4", + "split-centres/LOCAL-CHECKS.json": "e1cec31f77872c4b464f48f60c8d6c98776c8df24787d60056d7284c9a124858", + "split-centres/RESIDUAL-ADAPTERS.json": "e4fce8ca73ad20a86711837dd6fe1efad5a335689352791a635969e4d1be4391", + "split-centres/CLIFFORD-RECIPES.json": "01b96cacdeca5771257cfbe7f6ca96c9c38a7ccb06487211837d0ec14c1eec50", + "split-centres/CLIFFORD-REVIEW.json": "9d7130d7610131376759a4770e0b3fb2d325c1cfe79e4d61ad944abe846d35e4", + "split-centres/INDEPENDENT-LOCAL-REPLAY.json": "6690e3728e84c029b0b10735a55c07d1a60cf675c973d5973dcc669e90f39f42", + "work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa" + }, + "controller_audit_sha256": "1b24ed8decf1bc8a5088262817087102a7f22b25a792203613ff4420fb3cdcb3" +} diff --git a/research/subspace16-r420-validation/macos-python314/complex-audit/PREFIX-AND-INVOICE.json b/research/subspace16-r420-validation/macos-python314/complex-audit/PREFIX-AND-INVOICE.json new file mode 100644 index 0000000000..6a451bbd99 --- /dev/null +++ b/research/subspace16-r420-validation/macos-python314/complex-audit/PREFIX-AND-INVOICE.json @@ -0,0 +1,106 @@ +{ + "status": "PASS_INDEPENDENT_ASYNC_SCALAR_PREFIX_AND_FINITE_INVOICE", + "template_sha256": "8cea2b4ff1b53c4930d758dbc6d9ba701a543599c450af4d0b4110c358be4e08", + "parent_template_sha256": "adf67017b7a737447a657da90a8638309420a2d97691186ffca33313389ea1a8", + "owner_audit_sha256": "5cb19a58e6c9b35284023e6979e8c4364063c5f46bab3ee5219e6e877e55991f", + "controller_audit_sha256": "1b24ed8decf1bc8a5088262817087102a7f22b25a792203613ff4420fb3cdcb3", + "independent_local_replay_sha256": "6690e3728e84c029b0b10735a55c07d1a60cf675c973d5973dcc669e90f39f42", + "canonical_word_sha256": "2c1ae483355a8a91057c08b2faf537cc1842f7fc1fa7a4c12b3aebf4ed8a8ba3", + "local_programs_sha256": "8c4f7b39c473de286bfa8cc66ff8e054410bb14e5efa2e50f75fc48b928859b4", + "local_checks_sha256": "e1cec31f77872c4b464f48f60c8d6c98776c8df24787d60056d7284c9a124858", + "global_prefix_bits": 218, + "charged_prefix_bits": 512, + "complete_invocation_sweeps": 72, + "bridge_sweeps": 72, + "row_prefix_extra": 1024, + "local": { + "backward": { + "events": 21631, + "macros": 16438, + "real_component_primitives": 164628, + "prefix_l1": "6920533000", + "prefix_bits": 33, + "coefficient_work_primitive_count": 81570, + "all_exact_columns": 728, + "dirty_helper_columns": 504, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 212, + "post_wrappers": 212, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 21631, + "macros": 16438, + "real_component_primitives": 164580, + "prefix_l1": "454080482", + "prefix_bits": 29, + "coefficient_work_primitive_count": 81538, + "all_exact_columns": 728, + "dirty_helper_columns": 504, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 212, + "post_wrappers": 212, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 504, + "centres": 8, + "live": 7168, + "physical": 7682, + "physical_stock_identity": { + "data_and_owner_families": 7168, + "local_helpers": 504, + "private_centres": 8, + "coefficient_work": 2 + }, + "entering_helpers": 212, + "entrance_rank": 380, + "width_inventory": { + "5": 56, + "8": 156, + "9": 292 + }, + "local_adapters": 335712, + "local_primitive_bound": 8706467971860, + "wrapper_elementary_factors_charged": 4396032, + "factors_per_wrapper": 144, + "compiler": 25934336, + "unhosted_pervertex": 1578975751961432, + "hosted_rebased_pervertex": 1578975751662056, + "conservative_pervertex_used": 3095267595574232, + "retained_prior_overcharge": { + "sha256": "bb43ef04791037a37d2596c395e81191991fde6581326118995cf4318ee472a3", + "previous_pervertex_allowance": 1516291843612800, + "added_complete_new_pervertex": 1578975751961432, + "policy": "Retain old allowance and add the entire fresh recount." + }, + "finite": { + "physical_stock_bits": 2641, + "router_bits": 7985, + "literal_bits": 35282, + "physical_row_coefficient": 16467, + "retained_row_coefficient": 20161, + "required_C0_bits": 200012, + "halving_integer_inequality": [ + 5329, + 4608 + ], + "G_exponent": 30000, + "E_exponent": 100000, + "C0_exponent": 210000 + }, + "strict_checks": { + "local_primitive_bound": true, + "logical": true, + "router": true, + "literal": true, + "mass": true, + "precision": true, + "tape": true, + "row": true, + "halving": true + }, + "scope": "Fresh emitted primitive/Horner, prefix, wrapper and finite recount, using the hash-bound independent local all-column/frame replay and actual whole-owner audit. No old INTEGRATION receipt is used to certify the changed word. The inherited all-size compiler, precision/tape and analytic-transfer contracts remain conditional. Retained payload 512 and physical row allowance 20161 are unchanged." +} diff --git a/research/subspace16-r420-validation/macos-python314/complex-local/CLIFFORD-REVIEW.json b/research/subspace16-r420-validation/macos-python314/complex-local/CLIFFORD-REVIEW.json new file mode 100644 index 0000000000..e38bdba428 --- /dev/null +++ b/research/subspace16-r420-validation/macos-python314/complex-local/CLIFFORD-REVIEW.json @@ -0,0 +1,20 @@ +{ + "status": "PASS_NEW_WORD_EXACT_LOCAL_PHASE_RECIPES", + "canonical_word_sha256": "2c1ae483355a8a91057c08b2faf537cc1842f7fc1fa7a4c12b3aebf4ed8a8ba3", + "frames": 999, + "directed_edges": 2929, + "ranks": { + "1": 1847, + "2": 382, + "8": 16, + "3": 430, + "4": 184, + "5": 14, + "6": 56 + }, + "endpoint_adapters": 224, + "all_child_equalities_include_global_phase": true, + "recipe_sha256": "01b96cacdeca5771257cfbe7f6ca96c9c38a7ccb06487211837d0ec14c1eec50", + "seconds": 83.31912483402994, + "scope": "Every local frame and center transition. Expanded scalar-interface integration and global emitted program are separate obligations." +} diff --git a/research/subspace16-r420-validation/macos-python314/complex-local/INDEPENDENT-LOCAL-REPLAY.json b/research/subspace16-r420-validation/macos-python314/complex-local/INDEPENDENT-LOCAL-REPLAY.json new file mode 100644 index 0000000000..95ef956566 --- /dev/null +++ b/research/subspace16-r420-validation/macos-python314/complex-local/INDEPENDENT-LOCAL-REPLAY.json @@ -0,0 +1,58 @@ +{ + "status": "PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY", + "canonical_word_sha256": "2c1ae483355a8a91057c08b2faf537cc1842f7fc1fa7a4c12b3aebf4ed8a8ba3", + "local_programs_sha256": "8c4f7b39c473de286bfa8cc66ff8e054410bb14e5efa2e50f75fc48b928859b4", + "v": 112, + "helpers": 504, + "local": { + "forward": { + "all_exact_columns": 728, + "prefix_l1_upper": "454080482", + "prefix_bits_upper": 29, + "charged_payload_bits": 192, + "private_work_erased": true + }, + "backward": { + "all_exact_columns": 728, + "prefix_l1_upper": "6920533000", + "prefix_bits_upper": 33, + "charged_payload_bits": 192, + "private_work_erased": true + } + }, + "paid_profiles": { + "forward": { + "1": 2300, + "4": 184, + "8": 8, + "3": 472, + "2": 440, + "6": 56, + "5": 56 + }, + "backward": { + "1": 2300, + "4": 184, + "8": 8, + "3": 472, + "2": 440, + "6": 56, + "5": 56 + } + }, + "entering_helpers": 212, + "negative_controls_rejected": [ + "wrong_scale", + "missing_center", + "wrong_common_frame", + "wrong_child_rank", + "missing_pre_wrapper", + "missing_post_wrapper", + "wrapper_with_wrong_frame", + "wrapper_in_wrong_phase", + "wrapper_on_a_data_register", + "wrapper_on_a_target_register", + "wrapper_on_a_centre_register" + ], + "scope": "Literal forward and inverse-transpose replay on every arbitrary data/helper column, physical frame incidence, ordered paid wrappers, cleared private work and prefix coefficients. Global hosting and outer exponent are separate." +} diff --git a/research/subspace16-r420-validation/macos-python314/complex-local/LEMMA-A.json b/research/subspace16-r420-validation/macos-python314/complex-local/LEMMA-A.json new file mode 100644 index 0000000000..4701120c11 --- /dev/null +++ b/research/subspace16-r420-validation/macos-python314/complex-local/LEMMA-A.json @@ -0,0 +1,287 @@ +{ + "status": "PASS_RESIDUAL_WRAPPERS_ARE_EXACT", + "frames": 23, + "wrappers_reject": [ + "wrong global phase", + "wrong translation", + "wrong quadratic form", + "sides swapped", + "wrong width" + ], + "all_even_weight": true, + "all_totally_isotropic": false, + "detail": [ + { + "frame": 2, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 75 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 3, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 102 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 4, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 120 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 5, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 85 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 6, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 459 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 7, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 486 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 422, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 45 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 423, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 51 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 424, + "entrance_rank": 1, + "residual_width": 8, + "vectors": [ + 30 + ], + "all_even_weight": true, + "totally_isotropic": true + }, + { + "frame": 425, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 413, + 72, + 48, + 3 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 426, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 407, + 66, + 36, + 9 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 427, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 455, + 33, + 18, + 12 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 428, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 258, + 130, + 85, + 45 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 429, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 264, + 136, + 85, + 51 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 430, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 427, + 96, + 24, + 6 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 431, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 288, + 160, + 75, + 30 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 432, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 423, + 65, + 20, + 10 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 433, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 257, + 129, + 102, + 30 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 434, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 399, + 68, + 34, + 17 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 435, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 260, + 132, + 75, + 51 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 436, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 411, + 80, + 40, + 5 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 437, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 272, + 144, + 75, + 45 + ], + "all_even_weight": true, + "totally_isotropic": false + }, + { + "frame": 438, + "entrance_rank": 4, + "residual_width": 5, + "vectors": [ + 320, + 192, + 45, + 30 + ], + "all_even_weight": true, + "totally_isotropic": false + } + ] +} diff --git a/research/subspace16-r420-validation/macos-python314/sliced/RESULT.json b/research/subspace16-r420-validation/macos-python314/sliced/RESULT.json new file mode 100644 index 0000000000..cd2adf3d00 --- /dev/null +++ b/research/subspace16-r420-validation/macos-python314/sliced/RESULT.json @@ -0,0 +1,4063 @@ +{ + "status": "EXACT_TARGET_RESPONSE_SLICE_PENDING_INDEPENDENT_ADMISSION", + "source_sha256": "29b11448963546b959bda379d82711c25f768d5579dcd6bc004887de808e8ae6", + "word_sha256": "ac51c08f5bb8a2cc7e9f201a930c966b82be54fe8eddc008a33c696a65dfa0a5", + "removed": { + "A": [ + { + "index": 1955, + "gate": [ + "add", + 442, + 437, + 1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1948, + "gate": [ + "add", + 442, + 432, + -1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1947, + "gate": [ + "add", + 55, + 432, + 1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1944, + "gate": [ + "add", + 442, + 435, + -1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1943, + "gate": [ + "add", + 52, + 435, + 1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1941, + "gate": [ + "add", + 442, + 433, + 1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1935, + "gate": [ + "add", + 55, + 433, + -1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1934, + "gate": [ + "add", + 52, + 433, + -1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1929, + "gate": [ + "add", + 55, + 442, + -1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1928, + "gate": [ + "add", + 52, + 442, + -1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1927, + "gate": [ + "add", + 53, + 442, + 1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1926, + "gate": [ + "scale", + 55, + -1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1925, + "gate": [ + "add", + 52, + 55, + 1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1924, + "gate": [ + "add", + 55, + 52, + -1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1923, + "gate": [ + "add", + 52, + 55, + 1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1919, + "gate": [ + "add", + 53, + 55, + -1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1915, + "gate": [ + "add", + 53, + 52, + -1, + 1, + [ + 289, + 161, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1820, + "gate": [ + "add", + 426, + 421, + 1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1813, + "gate": [ + "add", + 426, + 416, + -1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1812, + "gate": [ + "add", + 87, + 416, + 1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1809, + "gate": [ + "add", + 426, + 419, + -1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1808, + "gate": [ + "add", + 84, + 419, + 1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1806, + "gate": [ + "add", + 426, + 417, + 1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1800, + "gate": [ + "add", + 87, + 417, + -1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1799, + "gate": [ + "add", + 84, + 417, + -1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1794, + "gate": [ + "add", + 87, + 426, + -1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1793, + "gate": [ + "add", + 84, + 426, + -1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1792, + "gate": [ + "add", + 85, + 426, + 1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1791, + "gate": [ + "scale", + 87, + -1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1790, + "gate": [ + "add", + 84, + 87, + 1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1789, + "gate": [ + "add", + 87, + 84, + -1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1788, + "gate": [ + "add", + 84, + 87, + 1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1784, + "gate": [ + "add", + 85, + 87, + -1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1780, + "gate": [ + "add", + 85, + 84, + -1, + 1, + [ + 408, + 73, + 49, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1685, + "gate": [ + "add", + 410, + 405, + 1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1678, + "gate": [ + "add", + 410, + 400, + -1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1677, + "gate": [ + "add", + 95, + 400, + 1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1674, + "gate": [ + "add", + 410, + 403, + -1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1673, + "gate": [ + "add", + 92, + 403, + 1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1671, + "gate": [ + "add", + 410, + 401, + 1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1665, + "gate": [ + "add", + 95, + 401, + -1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1664, + "gate": [ + "add", + 92, + 401, + -1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1659, + "gate": [ + "add", + 95, + 410, + -1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1658, + "gate": [ + "add", + 92, + 410, + -1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1657, + "gate": [ + "add", + 93, + 410, + 1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1656, + "gate": [ + "scale", + 95, + -1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1655, + "gate": [ + "add", + 92, + 95, + 1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1654, + "gate": [ + "add", + 95, + 92, + -1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1653, + "gate": [ + "add", + 92, + 95, + 1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1649, + "gate": [ + "add", + 93, + 95, + -1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1645, + "gate": [ + "add", + 93, + 92, + -1, + 1, + [ + 265, + 137, + 96, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1550, + "gate": [ + "add", + 394, + 389, + 1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1543, + "gate": [ + "add", + 394, + 384, + -1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1542, + "gate": [ + "add", + 103, + 384, + 1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1539, + "gate": [ + "add", + 394, + 387, + -1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1538, + "gate": [ + "add", + 100, + 387, + 1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1536, + "gate": [ + "add", + 394, + 385, + 1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1530, + "gate": [ + "add", + 103, + 385, + -1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1529, + "gate": [ + "add", + 100, + 385, + -1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1524, + "gate": [ + "add", + 103, + 394, + -1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1523, + "gate": [ + "add", + 100, + 394, + -1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1522, + "gate": [ + "add", + 101, + 394, + 1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1521, + "gate": [ + "scale", + 103, + -1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1520, + "gate": [ + "add", + 100, + 103, + 1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1519, + "gate": [ + "add", + 103, + 100, + -1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1518, + "gate": [ + "add", + 100, + 103, + 1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1514, + "gate": [ + "add", + 101, + 103, + -1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1510, + "gate": [ + "add", + 101, + 100, + -1, + 1, + [ + 259, + 131, + 96, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1415, + "gate": [ + "add", + 378, + 373, + 1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1408, + "gate": [ + "add", + 378, + 368, + -1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1407, + "gate": [ + "add", + 79, + 368, + 1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1404, + "gate": [ + "add", + 378, + 371, + -1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1403, + "gate": [ + "add", + 76, + 371, + 1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1401, + "gate": [ + "add", + 378, + 369, + 1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1395, + "gate": [ + "add", + 79, + 369, + -1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1394, + "gate": [ + "add", + 76, + 369, + -1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1389, + "gate": [ + "add", + 79, + 378, + -1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1388, + "gate": [ + "add", + 76, + 378, + -1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1387, + "gate": [ + "add", + 77, + 378, + 1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1386, + "gate": [ + "scale", + 79, + -1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1385, + "gate": [ + "add", + 76, + 79, + 1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1384, + "gate": [ + "add", + 79, + 76, + -1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1383, + "gate": [ + "add", + 76, + 79, + 1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1379, + "gate": [ + "add", + 77, + 79, + -1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1375, + "gate": [ + "add", + 77, + 76, + -1, + 1, + [ + 390, + 67, + 37, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1280, + "gate": [ + "add", + 362, + 357, + 1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1273, + "gate": [ + "add", + 362, + 352, + -1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1272, + "gate": [ + "add", + 47, + 352, + 1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1269, + "gate": [ + "add", + 362, + 355, + -1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1268, + "gate": [ + "add", + 44, + 355, + 1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1266, + "gate": [ + "add", + 362, + 353, + 1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1260, + "gate": [ + "add", + 47, + 353, + -1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1259, + "gate": [ + "add", + 44, + 353, + -1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1254, + "gate": [ + "add", + 47, + 362, + -1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1253, + "gate": [ + "add", + 44, + 362, + -1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1252, + "gate": [ + "add", + 45, + 362, + 1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1251, + "gate": [ + "scale", + 47, + -1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1250, + "gate": [ + "add", + 44, + 47, + 1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1249, + "gate": [ + "add", + 47, + 44, + -1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1248, + "gate": [ + "add", + 44, + 47, + 1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1244, + "gate": [ + "add", + 45, + 47, + -1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1240, + "gate": [ + "add", + 45, + 44, + -1, + 1, + [ + 301, + 173, + 102, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1145, + "gate": [ + "add", + 346, + 341, + 1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1138, + "gate": [ + "add", + 346, + 336, + -1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1137, + "gate": [ + "add", + 7, + 336, + 1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1134, + "gate": [ + "add", + 346, + 339, + -1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1133, + "gate": [ + "add", + 4, + 339, + 1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1131, + "gate": [ + "add", + 346, + 337, + 1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1125, + "gate": [ + "add", + 7, + 337, + -1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1124, + "gate": [ + "add", + 4, + 337, + -1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1119, + "gate": [ + "add", + 7, + 346, + -1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1118, + "gate": [ + "add", + 4, + 346, + -1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1117, + "gate": [ + "add", + 5, + 346, + 1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1116, + "gate": [ + "scale", + 7, + -1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1115, + "gate": [ + "add", + 4, + 7, + 1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1114, + "gate": [ + "add", + 7, + 4, + -1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1113, + "gate": [ + "add", + 4, + 7, + 1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1109, + "gate": [ + "add", + 5, + 7, + -1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1105, + "gate": [ + "add", + 5, + 4, + -1, + 1, + [ + 390, + 96, + 19, + 13 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1010, + "gate": [ + "add", + 330, + 325, + 1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1003, + "gate": [ + "add", + 330, + 320, + -1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 1002, + "gate": [ + "add", + 111, + 320, + 1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 999, + "gate": [ + "add", + 330, + 323, + -1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 998, + "gate": [ + "add", + 108, + 323, + 1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 996, + "gate": [ + "add", + 330, + 321, + 1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 990, + "gate": [ + "add", + 111, + 321, + -1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 989, + "gate": [ + "add", + 108, + 321, + -1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 984, + "gate": [ + "add", + 111, + 330, + -1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 983, + "gate": [ + "add", + 108, + 330, + -1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 982, + "gate": [ + "add", + 109, + 330, + 1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 981, + "gate": [ + "scale", + 111, + -1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 980, + "gate": [ + "add", + 108, + 111, + 1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 979, + "gate": [ + "add", + 111, + 108, + -1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 978, + "gate": [ + "add", + 108, + 111, + 1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 974, + "gate": [ + "add", + 109, + 111, + -1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 970, + "gate": [ + "add", + 109, + 108, + -1, + 1, + [ + 266, + 138, + 96, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 875, + "gate": [ + "add", + 314, + 309, + 1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 868, + "gate": [ + "add", + 314, + 304, + -1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 867, + "gate": [ + "add", + 71, + 304, + 1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 864, + "gate": [ + "add", + 314, + 307, + -1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 863, + "gate": [ + "add", + 68, + 307, + 1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 861, + "gate": [ + "add", + 314, + 305, + 1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 855, + "gate": [ + "add", + 71, + 305, + -1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 854, + "gate": [ + "add", + 68, + 305, + -1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 849, + "gate": [ + "add", + 71, + 314, + -1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 848, + "gate": [ + "add", + 68, + 314, + -1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 847, + "gate": [ + "add", + 69, + 314, + 1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 846, + "gate": [ + "scale", + 71, + -1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 845, + "gate": [ + "add", + 68, + 71, + 1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 844, + "gate": [ + "add", + 71, + 68, + -1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 843, + "gate": [ + "add", + 68, + 71, + 1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 839, + "gate": [ + "add", + 69, + 71, + -1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 835, + "gate": [ + "add", + 69, + 68, + -1, + 1, + [ + 390, + 74, + 44, + 30 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 740, + "gate": [ + "add", + 298, + 293, + 1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 733, + "gate": [ + "add", + 298, + 288, + -1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 732, + "gate": [ + "add", + 39, + 288, + 1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 729, + "gate": [ + "add", + 298, + 291, + -1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 728, + "gate": [ + "add", + 36, + 291, + 1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 726, + "gate": [ + "add", + 298, + 289, + 1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 720, + "gate": [ + "add", + 39, + 289, + -1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 719, + "gate": [ + "add", + 36, + 289, + -1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 714, + "gate": [ + "add", + 39, + 298, + -1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 713, + "gate": [ + "add", + 36, + 298, + -1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 712, + "gate": [ + "add", + 37, + 298, + 1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 711, + "gate": [ + "scale", + 39, + -1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 710, + "gate": [ + "add", + 36, + 39, + 1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 709, + "gate": [ + "add", + 39, + 36, + -1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 708, + "gate": [ + "add", + 36, + 39, + 1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 704, + "gate": [ + "add", + 37, + 39, + -1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 700, + "gate": [ + "add", + 37, + 36, + -1, + 1, + [ + 290, + 162, + 102, + 24 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 605, + "gate": [ + "add", + 282, + 277, + 1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 598, + "gate": [ + "add", + 282, + 272, + -1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 597, + "gate": [ + "add", + 15, + 272, + 1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 594, + "gate": [ + "add", + 282, + 275, + -1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 593, + "gate": [ + "add", + 12, + 275, + 1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 591, + "gate": [ + "add", + 282, + 273, + 1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 585, + "gate": [ + "add", + 15, + 273, + -1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 584, + "gate": [ + "add", + 12, + 273, + -1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 579, + "gate": [ + "add", + 15, + 282, + -1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 578, + "gate": [ + "add", + 12, + 282, + -1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 577, + "gate": [ + "add", + 13, + 282, + 1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 576, + "gate": [ + "scale", + 15, + -1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 575, + "gate": [ + "add", + 12, + 15, + 1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 574, + "gate": [ + "add", + 15, + 12, + -1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 573, + "gate": [ + "add", + 12, + 15, + 1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 569, + "gate": [ + "add", + 13, + 15, + -1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 565, + "gate": [ + "add", + 13, + 12, + -1, + 1, + [ + 388, + 96, + 24, + 2 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 470, + "gate": [ + "add", + 266, + 261, + 1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 463, + "gate": [ + "add", + 266, + 256, + -1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 462, + "gate": [ + "add", + 23, + 256, + 1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 459, + "gate": [ + "add", + 266, + 259, + -1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 458, + "gate": [ + "add", + 20, + 259, + 1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 456, + "gate": [ + "add", + 266, + 257, + 1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 450, + "gate": [ + "add", + 23, + 257, + -1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 449, + "gate": [ + "add", + 20, + 257, + -1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 444, + "gate": [ + "add", + 23, + 266, + -1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 443, + "gate": [ + "add", + 20, + 266, + -1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 442, + "gate": [ + "add", + 21, + 266, + 1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 441, + "gate": [ + "scale", + 23, + -1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 440, + "gate": [ + "add", + 20, + 23, + 1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 439, + "gate": [ + "add", + 23, + 20, + -1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 438, + "gate": [ + "add", + 20, + 23, + 1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 434, + "gate": [ + "add", + 21, + 23, + -1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 430, + "gate": [ + "add", + 21, + 20, + -1, + 1, + [ + 400, + 96, + 8, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 335, + "gate": [ + "add", + 250, + 245, + 1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 328, + "gate": [ + "add", + 250, + 240, + -1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 327, + "gate": [ + "add", + 31, + 240, + 1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 324, + "gate": [ + "add", + 250, + 243, + -1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 323, + "gate": [ + "add", + 28, + 243, + 1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 321, + "gate": [ + "add", + 250, + 241, + 1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 315, + "gate": [ + "add", + 31, + 241, + -1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 314, + "gate": [ + "add", + 28, + 241, + -1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 309, + "gate": [ + "add", + 31, + 250, + -1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 308, + "gate": [ + "add", + 28, + 250, + -1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 307, + "gate": [ + "add", + 29, + 250, + 1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 306, + "gate": [ + "scale", + 31, + -1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 305, + "gate": [ + "add", + 28, + 31, + 1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 304, + "gate": [ + "add", + 31, + 28, + -1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 303, + "gate": [ + "add", + 28, + 31, + 1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 299, + "gate": [ + "add", + 29, + 31, + -1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 295, + "gate": [ + "add", + 29, + 28, + -1, + 1, + [ + 296, + 168, + 120, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 200, + "gate": [ + "add", + 234, + 229, + 1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 193, + "gate": [ + "add", + 234, + 224, + -1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 192, + "gate": [ + "add", + 63, + 224, + 1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 189, + "gate": [ + "add", + 234, + 227, + -1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 188, + "gate": [ + "add", + 60, + 227, + 1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 186, + "gate": [ + "add", + 234, + 225, + 1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 180, + "gate": [ + "add", + 63, + 225, + -1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 179, + "gate": [ + "add", + 60, + 225, + -1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 174, + "gate": [ + "add", + 63, + 234, + -1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 173, + "gate": [ + "add", + 60, + 234, + -1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 172, + "gate": [ + "add", + 61, + 234, + 1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 171, + "gate": [ + "scale", + 63, + -1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 170, + "gate": [ + "add", + 60, + 63, + 1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 169, + "gate": [ + "add", + 63, + 60, + -1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 168, + "gate": [ + "add", + 60, + 63, + 1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 164, + "gate": [ + "add", + 61, + 63, + -1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + }, + { + "index": 160, + "gate": [ + "add", + 61, + 60, + -1, + 1, + [ + 448, + 32, + 24, + 6 + ] + ], + "reason": "zero_exact_target_response" + } + ], + "B": [] + }, + "sentinels": [], + "before": { + "1": 2284, + "4": 168, + "8": 8, + "3": 488, + "2": 456, + "6": 56, + "5": 56 + }, + "after": { + "1": 2284, + "4": 168, + "8": 8, + "3": 488, + "2": 456, + "6": 56, + "5": 56 + }, + "frozen_prefix": 69, + "scope": "Zero exact suffix response or identity scale; frame boundaries retained, cleanup regenerated. Local incidence/profile verified; independent arbitrary-input and physical admission still required." +} diff --git a/research/subspace16-r420-validation/macos-python314/static44/SCALAR-AUDIT.json b/research/subspace16-r420-validation/macos-python314/static44/SCALAR-AUDIT.json new file mode 100644 index 0000000000..7753a5306e --- /dev/null +++ b/research/subspace16-r420-validation/macos-python314/static44/SCALAR-AUDIT.json @@ -0,0 +1,56 @@ +{ + "status": "PASS_EXACT_RATIONAL_FORWARD_AND_INVERSE_TRANSPOSE", + "word_sha256": "3bfb5ec13b794f66bdf4eebd885657ec3ea074b51ff19dcd0f91daa61f886536", + "selection_sha256": "16ecc4a5c08af6750ee8610b722f74eba82a9eeb9703f0f0e0ace08ce5c82ad3", + "columns_each_orientation": 728, + "compensations": 9760, + "program_operations": 16894, + "kernel_pivots": 44, + "controls": { + "264": "REJECTED_OMITTED_KERNEL_CORRECTION", + "265": "REJECTED_OMITTED_KERNEL_CORRECTION", + "312": "REJECTED_OMITTED_KERNEL_CORRECTION", + "313": "REJECTED_OMITTED_KERNEL_CORRECTION", + "314": "REJECTED_OMITTED_KERNEL_CORRECTION", + "315": "REJECTED_OMITTED_KERNEL_CORRECTION", + "350": "REJECTED_OMITTED_KERNEL_CORRECTION", + "351": "REJECTED_OMITTED_KERNEL_CORRECTION", + "276": "REJECTED_OMITTED_KERNEL_CORRECTION", + "277": "REJECTED_OMITTED_KERNEL_CORRECTION", + "324": "REJECTED_OMITTED_KERNEL_CORRECTION", + "325": "REJECTED_OMITTED_KERNEL_CORRECTION", + "326": "REJECTED_OMITTED_KERNEL_CORRECTION", + "327": "REJECTED_OMITTED_KERNEL_CORRECTION", + "338": "REJECTED_OMITTED_KERNEL_CORRECTION", + "339": "REJECTED_OMITTED_KERNEL_CORRECTION", + "262": "REJECTED_OMITTED_KERNEL_CORRECTION", + "263": "REJECTED_OMITTED_KERNEL_CORRECTION", + "322": "REJECTED_OMITTED_KERNEL_CORRECTION", + "323": "REJECTED_OMITTED_KERNEL_CORRECTION", + "328": "REJECTED_OMITTED_KERNEL_CORRECTION", + "329": "REJECTED_OMITTED_KERNEL_CORRECTION", + "352": "REJECTED_OMITTED_KERNEL_CORRECTION", + "353": "REJECTED_OMITTED_KERNEL_CORRECTION", + "274": "REJECTED_OMITTED_KERNEL_CORRECTION", + "275": "REJECTED_OMITTED_KERNEL_CORRECTION", + "310": "REJECTED_OMITTED_KERNEL_CORRECTION", + "311": "REJECTED_OMITTED_KERNEL_CORRECTION", + "316": "REJECTED_OMITTED_KERNEL_CORRECTION", + "317": "REJECTED_OMITTED_KERNEL_CORRECTION", + "340": "REJECTED_OMITTED_KERNEL_CORRECTION", + "341": "REJECTED_OMITTED_KERNEL_CORRECTION", + "299": "REJECTED_OMITTED_KERNEL_CORRECTION", + "301": "REJECTED_OMITTED_KERNEL_CORRECTION", + "347": "REJECTED_OMITTED_KERNEL_CORRECTION", + "349": "REJECTED_OMITTED_KERNEL_CORRECTION", + "359": "REJECTED_OMITTED_KERNEL_CORRECTION", + "361": "REJECTED_OMITTED_KERNEL_CORRECTION", + "370": "REJECTED_OMITTED_KERNEL_CORRECTION", + "371": "REJECTED_OMITTED_KERNEL_CORRECTION", + "372": "REJECTED_OMITTED_KERNEL_CORRECTION", + "373": "REJECTED_OMITTED_KERNEL_CORRECTION", + "375": "REJECTED_OMITTED_KERNEL_CORRECTION", + "377": "REJECTED_OMITTED_KERNEL_CORRECTION" + }, + "scope": "Exact local scalar identity and preserved frame-zero compensation; physical owner routing, complete invoice and outer kappa separate." +} diff --git a/research/subspace16-r420-validation/macos-python314/subspace16/RESULT.json b/research/subspace16-r420-validation/macos-python314/subspace16/RESULT.json new file mode 100644 index 0000000000..cfcc82096b --- /dev/null +++ b/research/subspace16-r420-validation/macos-python314/subspace16/RESULT.json @@ -0,0 +1,37 @@ +{ + "status": "PASS_FROZEN_SUBSPACE16_FRAME_RECIPE", + "changes": 63, + "changes_by_section": { + "B": 63 + }, + "before": { + "1": 2284, + "4": 168, + "8": 8, + "3": 488, + "2": 456, + "6": 56, + "5": 56 + }, + "after": { + "1": 2300, + "4": 184, + "8": 8, + "3": 472, + "2": 440, + "6": 56, + "5": 56 + }, + "delta": { + "1": 16, + "2": -16, + "3": -16, + "4": 16 + }, + "rank_mass": 6012, + "scalar_operations_unchanged": true, + "starts_cut_cleanup_and_widths_unchanged": true, + "source_sha256": "ac51c08f5bb8a2cc7e9f201a930c966b82be54fe8eddc008a33c696a65dfa0a5", + "word_sha256": "dac4d6d6ad99208d3d50c640acb2f82e81ddaa1dc97a29da758353fd3bd49fa9", + "scope": "Exact nested-frame legality and paid-profile identity. Full arbitrary-dirt, phase, owner and invoice admission are independent subsequent stages." +} diff --git a/research/subspace16-r420/EXPECTED.json b/research/subspace16-r420/EXPECTED.json new file mode 100644 index 0000000000..334adb435c --- /dev/null +++ b/research/subspace16-r420/EXPECTED.json @@ -0,0 +1,41 @@ +{ + "kappa": "795984451416673/500000000000000000", + "kappa_decimal": "0.001591968902833346", + "complex_lower": "1594507308884431019637/1000000000000000000000000", + "bit_lower": "413456747036699736067/250000000000000000000000", + "binding_component": "complex", + "status": "PASS_SUBSPACE16_R420_BOTH_SUPPLIERS", + "complex_local_profile": { + "1": 2300, + "2": 440, + "3": 472, + "4": 184, + "5": 56, + "6": 56, + "8": 8 + }, + "complex_global_profile": { + "1": 165600, + "2": 32128, + "3": 35907, + "4": 13248, + "5": 4032, + "6": 4032, + "7": 208, + "8": 576, + "39": 1, + "48": 1660 + }, + "complex_live": 7168, + "complex_physical": 7682, + "complex_deficit": 2560, + "complex_helper_roles": 36288, + "complex_prefix_bits": 218, + "complex_charged_prefix_bits": 512, + "phase_edges": 2929, + "endpoint_adapters": 224, + "complex_word_sha256": "2c1ae483355a8a91057c08b2faf537cc1842f7fc1fa7a4c12b3aebf4ed8a8ba3", + "complex_program_sha256": "8c4f7b39c473de286bfa8cc66ff8e054410bb14e5efa2e50f75fc48b928859b4", + "complex_phase_sha256": "01b96cacdeca5771257cfbe7f6ca96c9c38a7ccb06487211837d0ec14c1eec50", + "complex_template_sha256": "8cea2b4ff1b53c4930d758dbc6d9ba701a543599c450af4d0b4110c358be4e08" +} diff --git a/research/subspace16-r420/LICENSE b/research/subspace16-r420/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/subspace16-r420/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/research/subspace16-r420/MANIFEST.json b/research/subspace16-r420/MANIFEST.json new file mode 100644 index 0000000000..53eb9fa3ae --- /dev/null +++ b/research/subspace16-r420/MANIFEST.json @@ -0,0 +1,266 @@ +{ + "SOURCES.json": "6855ee57a21eebf0cb7399ad9f8c0cb4f5029c77c9178408d93760f0aa3c2b59", + "SOURCE-GIT-BLOBS.json": "ae0885892082a31f08bd13e25253fccc56146a0a51d4790c91505e8176d6c71c", + "EXPECTED.json": "243881e1b3f910bed5ecc0b4f93f7dfdfa14e6826c3707b2ee301cb05c14b00d", + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "README.md": "635511ccce91b0d59e4da23217f2d85b265dfc53890b83b9a3c1e61f43b7eec3", + "verify.py": "07d5dc02e8b7ecabb0a503edfc581952a34123940a7a46590518aa2201ac3953", + "NOTICE.md": "ce38b78dccdef1792822945b33685f55bd250dc9acfce2d10146786f9a1725be", + "proof/SUBSPACE16.md": "9adc8eb78c85dedd17d19d488b301719d1c309aa221db8174ba88620f76d6bf7", + "proof/COMPOSITION.md": "de4d20be24653e3539bf2d6b366e2184d7638c760cbc15e68e002daf9ac894ae", + "proof/PR510-MUTABLE-SOURCE-CARRYOVER.md": "b2b597491874d6e4ad3ead49bf9a15515745de578bc8c200ab60cf6ec9bac1f2", + "code/build_frames.py": "1d9cea15d89dd86c171ca6bc0e6d6e97128fd6b54528b80f70ac8e800a491cb6", + "code/run.py": "a32781a6319b96759aa8be71b3a797463051ebdedeba289a08ff3d88fa129f35", + "code/slice.py": "a0065c32b6c5ae302a341d7c6ade2171db8005767105cea93e077b893069922c", + "code/assemble.py": "bd5c779e4e6f85fc9e4ce2b02b5c71975a1a71746255e0792d06062d99cc7a78", + "code/run_r420.py": "8746240cb60ec41664b559c72292611c431ac737ba6f45bd96ec018d7235c79e", + "code/phases_full.py": "a273c325ffd6793d5b63b79a289a9d2bbc9292e6940fb5a926924f3708627af4", + "data/PLAN.json": "2a890c69d52de183ff14d812deaba0e733e65c27256f24f145722a7607126817", + "data/OWNERS.json.gz": "b5a5339dd37d90a0adf40d90d6aed52aec2f94073a3b27763575eb069f85a903", + "data/RECIPE.json": "b9458db2bcc82afd3ff5246b9975a7a23fdbda58e6ac8de45472aff832f383d2", + "vendor/e8-bit-r420/MANIFEST.sha256": "e76447d8b457d3701c97f7f972b24779910cb6517af27f8b5e37d026de28c81f", + "vendor/e8-bit-r420/EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "vendor/e8-bit-r420/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "vendor/e8-bit-r420/requirements.txt": "e11a6f5c2a40b77fbf54a31a4c45bac575e9d2f765d35b657406d5f088fd0664", + "vendor/e8-bit-r420/verify.sh": "3192dea51acd17addb2750834a9dc3fb5b991e8dc5970ba9d2ac54608d79cafa", + "vendor/e8-bit-r420/SOURCE-pr535.json": "74254fde5cff5580d5c199b139ff3ce31a3defded3f653a3ba83cf0c9204ddc4", + "vendor/e8-bit-r420/DEPENDS.json": "fa9253078c444b8f4a57e849048f727c3c8233c3dc3c7f651bef2cf7bb0178c5", + "vendor/e8-bit-r420/README.md": "9807be57c6adf26b30e4f54e2f8160075bbc05091f1a6d157e43d2a4620c1c9f", + "vendor/e8-bit-r420/SOURCE-pr510.json": "5e84c26ba837ce029acd1b5089e5533d2ebde793deede84215322112e95e06f8", + "vendor/e8-bit-r420/NOTICE.md": "12ba6e0845f222e9940b00f6c60d261db104246a8d3143da267682973479f811", + "vendor/pr531/SOURCES.json": "9e8182e6e659f4671fe0873e324b622cc871df7344157093df40476c8687be5f", + "vendor/pr531/EXPECTED.json": "0c4c7df98633ace6dd3f1604462dd509945f6b2d463a0b045442b785906101f1", + "vendor/pr531/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "vendor/pr531/README.md": "305497b4bf15e691bf0ea504f628a397ea40b814053948ca32c84ce5c16e6f5b", + "vendor/pr531/verify_fast.py": "ea4e33a17419009f0872fac42f7ae5a2f2090c4487cc9815721d907d1e9b1cae", + "vendor/pr531/LOCAL-VALIDATION.json": "e7dcbbe16d3a51288dddcc9022ba852ea6c9d428f8391c72d9b61429168a5561", + "vendor/pr531/MANIFEST.json": "c1997405c5c0ccd9bdb0a30b0eb9a5a2dc7dc7ce7b59c6a83a2152b80f6410d1", + "vendor/pr531/NOTICE.md": "a92f49c5ced455160fbedcc8954e3c9255e3605e88ad12ae5a84f1c4302986f1", + "vendor/direct-delivery504-global/EXPECTED.json": "0c4c7df98633ace6dd3f1604462dd509945f6b2d463a0b045442b785906101f1", + "vendor/e8-bit-carrier-skeleton/MANIFEST.sha256": "7f25c41d0400ef5adf763eae6e166003a9b59e5a655b860c04b052f6731c7297", + "vendor/e8-bit-carrier-skeleton/SOURCE-pr436.json": "4a4f99f5bdb7530a0dcf9433f7f02afbf2abf908e718f7c63ffa5503d4f49693", + "vendor/e8-bit-carrier-skeleton/EXPECTED.json": "3494ba83280cc86548fe0cc6695c50d23e6b6ffca85aeb1a33337c1196e280cb", + "vendor/e8-bit-carrier-skeleton/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "vendor/e8-bit-carrier-skeleton/requirements.txt": "6023d480f929cdfa4e2f35e361eea003451cd6695af806935a32038b0115abb5", + "vendor/e8-bit-carrier-skeleton/SOURCE-pr483.json": "24e3eab4a985e115adb7f8665a401423e9636e9f16cc4373ec68cc86950445a8", + "vendor/e8-bit-carrier-skeleton/SOURCE-pr381.json": "16b1977240ca9acb58fa64572fb4231a423bc10bbf3e7bb30f1c8201fe369ba5", + "vendor/e8-bit-carrier-skeleton/SOURCE-pr471.json": "499d861e090c9e646d978dd67890a8e58a9ff6bf08512684e66605179132076b", + "vendor/e8-bit-carrier-skeleton/SOURCE-pr386.json": "87c659ba932525631a40be14dca28a6a2efade8641f23bb08d6e1567fc991131", + "vendor/e8-bit-carrier-skeleton/SOURCE-pr451.json": "a639956eec858341987a815b7464ef472505300db754b5f9ac012dd01d18c8df", + "vendor/e8-bit-carrier-skeleton/verify.sh": "0f9248aa3611dfe2b5d59dbe992c6f7d21a0cc4f1de2b5ed05a6110191191224", + "vendor/e8-bit-carrier-skeleton/SOURCE-pr484.json": "b92f43fbcba3921a1aa37bcb9f05cf5fa612ff708785e05512438a6317bf0867", + "vendor/e8-bit-carrier-skeleton/README.md": "e5212e8058c92a2b02cc12b4e174a65ce1cef7b4d7977ae770e64f5ff91b7204", + "vendor/e8-bit-carrier-skeleton/SOURCE-pr473.json": "2515c4f23dfa22a21913d92597669770f7f44c2a5b3ef069ef68a0c89779a656", + "vendor/e8-bit-carrier-skeleton/SOURCE-pr445.json": "e6f4a272442bb71ef68aaa3545b271236f9c99297e444fa01c62b0b5fb6a170f", + "vendor/e8-bit-carrier-skeleton/SOURCE-pr448.json": "c771fa9be492408a78d6d970c839e68c4dfd1b66f4f4a4748e3d12726a43cf27", + "vendor/e8-bit-carrier-skeleton/SOURCE-pr370.json": "03de1d341196cfa8cf1d39f3cc8648b25bb5f39c3c602a728cfbd089e8253ac0", + "vendor/e8-bit-carrier-skeleton/SOURCE-pr472.json": "6753bcf50c91806b75dd4dbe3963a79699a614d0dab8ce32b261cc3e76b288b1", + "vendor/e8-bit-carrier-skeleton/SOURCE-pr458.json": "cbdea984a46ab5de354b95e73fd76c1918fdc6676c658398a552772c4dc3dcaf", + "vendor/e8-bit-carrier-skeleton/NOTICE.md": "5f4b7fcbf99f572be28b6da612ce775363908cdfc7810f7aca167be01c86e49a", + "vendor/e8-bit-carrier-skeleton/SOURCE-pr478.json": "9c7c4ea678865a955b0c89f0952927159976fdf55cadc6a488dec5757f03fe7d", + "vendor/static44/build.py": "b15192ff50fd99f5ca3cb5857b5e129c98a212de60ae76aafb1614139743c35a", + "vendor/static44/SOURCE-MANIFEST.json": "4f5d92b4cd76eff0845a9f14d33131441535a232b5c91f00535aa076d44c45a8", + "vendor/static44/PROOF.md": "abfa6548b223893866094631aed61174575dc1b17bdd60627b2c55e6b9477e4f", + "vendor/static44/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "vendor/static44/RECIPE.json": "8735ac9beadff3edcb4a4df8dae174415e0f83d9b4df8556c33ba7fd777505fa", + "vendor/static44/README.md": "51d6ef7ad3e12e72daf29e0260a11cd985a0148fe1efa0574a533dae726c553c", + "vendor/static44/NOTICE-upstream.md": "1547136e6d269fdcef2b68c10a97a786a79a4732a12738363f679bfb282430cd", + "vendor/static44/META-SOURCES.json": "c8aeb9313f2c671a9a8766c249ceb6cffa106dfdab3ab761da8e8c534b115090", + "vendor/static44/replay.py": "fd1ce7d1f8974b473aef8c6cec1e0c590e01d0d215b073e5573a771ce42fc74d", + "vendor/static44/audit_scalar.py": "a1cd720d281c7a9db7f17919c637cdcb8558e9f3c96e929706f0c21f317a7943", + "vendor/static44/gk/gk_word.py": "f027a9273bcf4e0971258c160b7d3b3c196366b32a529cff6e6a0e666b03826b", + "vendor/static44/gk/gk_common.py": "e68d190fd436b2f3955decb590adb53344d5d4ea0a19d62d86df1e4b55ecd198", + "vendor/static44/inputs/RAW504.json.gz": "1c6144791dbedf6427e3ee7b4c24fb05b5bf407f6346592f50f8dd8d9638108d", + "vendor/static44/inputs/OLD-RECIPE.json": "7e5c179246261edd9e1019e81e6e979537f02559da773b993a318f771cb7d763", + "vendor/static44/inputs/BASE535.json.gz": "edfffb8e8735e0d1f07c81d818022b705ef0889c2bccc193a2f7a661b9f7d390", + "vendor/e8-bit-carrier-skeleton/discovery/plan.py": "40e8dea1b4b71c5afd5993625f57bcac089dd2f72dfbc4dbc23ce917e5a61010", + "vendor/e8-bit-carrier-skeleton/discovery/README.md": "b09aa45d5651720e10326cde559c863ba3ea45fe2fb6b4aaa3bfaa66a8fcf69f", + "vendor/e8-bit-carrier-skeleton/discovery/d4part.py": "a64927c340a4772ce0682b349e0c90c80d1a766000ccf397fb41b36a31929179", + "vendor/e8-bit-carrier-skeleton/discovery/host_select.py": "2aaaac18e083d289d4341e734c32571c89c51fefba04b388d407c7372b906dc7", + "vendor/e8-bit-carrier-skeleton/code/cited.py": "a4c2dd4755f2a45ceda327b36d9ee400c2804893000626ca8ff3f6ee296fd842", + "vendor/e8-bit-carrier-skeleton/code/provenance.py": "e28fd87d0e34a6f6f6f1fddb6c4891deac220662c954de855d7aa5a7f9cceca4", + "vendor/e8-bit-carrier-skeleton/data/complex-b.json": "dce3f4b76aa3f6c3ba826ce556ffa61398b33e81e4d1a226dd2a36ce684fb02e", + "vendor/e8-bit-carrier-skeleton/data/bit/bitE8-r865.json.gz": "1fb726ea3818fe0837cceb0dd22a71a0814f064e5e781628104610d6468e0e55", + "vendor/e8-bit-carrier-skeleton/data/bit/bitE8mut-r489.json.gz": "835eb96e147740fc7454f8cfb3dbd34ae89524b1dbd89a61e9288eae8ab6a5b9", + "vendor/e8-bit-carrier-skeleton/data/eleven/hosting.json": "61f790657c465d16d3455f48f90f816797b9ea08bf02dbd0c90d2cf41836257e", + "vendor/e8-bit-carrier-skeleton/data/eleven/residual-isometries.json": "0fa5b353a0321af2ce4e2045db1d4c2d6418a11663894e2afcdb1eaa1984bddc", + "vendor/e8-bit-carrier-skeleton/data/skeleton/d4part-pairs.json": "d69ffe3326140bc541b8f1639e02db43a5835ab8ca02cc742b5bee2bf2ef1ba9", + "vendor/e8-bit-carrier-skeleton/data/skeleton/plan-skB.json": "f6162bb4d8092bc233700fa7ebc6a0d79f2893135aee18e998369044abb3f44b", + "vendor/e8-bit-carrier-skeleton/data/complex/pr458/EXPECTED.json": "a4312cb0c53c2066a28b683a971a41e7d76c5f6d828a96481c3ae7b3c01bb2f3", + "vendor/e8-bit-carrier-skeleton/data/complex/pr473/EXPECTED.json": "70e515f0a5a2f9508cd030d35a99f90981a6eccc027c9ad5a3c77f5860310910", + "vendor/e8-bit-carrier-skeleton/data/complex/pr484/EXPECTED.json": "0c93018a23bc573c7d155d4786e0c3978e95be0fda974076697939a1a1d8e5be", + "vendor/e8-bit-carrier-skeleton/data/complex/pr483/EXPECTED.json": "799fa4ab2f785c478c3cdcb6c1c0428a5ce6e3ddbe4a4b2fd88630d811a593f6", + "vendor/e8-bit-carrier-skeleton/data/complex/pr448/EXPECTED.json": "18b42250c3faf6f0df76fcab6c3a483582192ad7bb09cb1985f4b0bb91d67024", + "vendor/e8-bit-carrier-skeleton/data/complex/pr478/EXPECTED.json": "07bd05d14c71df8925b0b03510b2b337334b73ac425a94e03b2ec34ed2680164", + "vendor/e8-bit-carrier-skeleton/data/complex/pr471/EXPECTED.json": "188f9d1a7450496dbfd8d64381febd20b0597141537eb1a003435297df2d1720", + "vendor/e8-bit-carrier-skeleton/code/bit/mutate_records.py": "b0e75d6550412a7be4017695e6b237392b611bb852ad8ff309d6682c9f166a4e", + "vendor/e8-bit-carrier-skeleton/code/bit/mutate_records_mut.py": "a9e085ec60d5657cd5d77832e3d95004e81b9f4f249d9e0fc95e345366cb2d2e", + "vendor/e8-bit-carrier-skeleton/code/bit/export_records.py": "8a5999601f917dbb492bb9ae9a344611f18cc7cedc53dc3c76496a369e530eb3", + "vendor/e8-bit-carrier-skeleton/code/eleven/audit.py": "5ad832830c19ec6c904d1b64480f6b1e71c5673fdd38d487d17e179b1d197c09", + "vendor/e8-bit-carrier-skeleton/code/eleven/local_audit.py": "95275473d7f9811011bda760dd0f04de5169c2a6922456dc9a5725a5d671f941", + "vendor/e8-bit-carrier-skeleton/code/eleven/assemble.py": "c47889a606701ae592374dd82a13cee8c5a4e8449b7facfdad2d90563a30a18c", + "vendor/e8-bit-carrier-skeleton/code/eleven/adapt.py": "d8a8c13b484d985f0133a5d06de4a78b8477314f922b9f693ba73640b7184d6b", + "vendor/e8-bit-carrier-skeleton/code/eleven/emit.py": "b0b25955875625ed63f82690f83aef976e3e9a978ae6620b23a23fc1207acd46", + "vendor/e8-bit-carrier-skeleton/code/skeleton/gen.py": "7cdcf48078ed4beacd2e240aa8145e4aa6984558748d07659cb1b252786e073a", + "vendor/e8-bit-carrier-skeleton/code/skeleton/geom.py": "bb356568fa05e7bfd5fcd9012903611cf742729a99b4dc3a13685355b2678ae3", + "vendor/e8-bit-carrier-skeleton/code/skeleton/e8.py": "721d859a6517d665ca84d03ef89668da3aae7433ffb0ee47faf37f2aeb85450e", + "vendor/e8-bit-carrier-skeleton/code/skeleton/wordkit.py": "2b6c12d96f24a4e81f2c807827c2b74cf80037367fc8034e8c871dd5ce008351", + "vendor/e8-bit-carrier-skeleton/code/nine/geometry.py": "36eeda3184bd009e89462b65c8725d10860c444f8da8f1f87e5f6e50120011ca", + "vendor/e8-bit-carrier-skeleton/code/pricing/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "vendor/e8-bit-carrier-skeleton/code/pricing/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "vendor/e8-bit-carrier-skeleton/code/pricing/prime_witnesses.py": "98cd03bc9582e7bd0ab194c191ea8eea940539e510051443ab9fd3e572a364ab", + "vendor/e8-bit-carrier-skeleton/code/pricing/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "vendor/e8-bit-carrier-skeleton/code/hub/idle-axis-hosting/hosting_core.py": "d8b90cd5d152df3c7c351230863d9e61816ad5e1f21d69bea1a86a5daad559a3", + "vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-eleven/code/geometry.py": "9554182d67e434ea84b4430f909a2c400abc755d8487b51454a8e6968e62859d", + "vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-eleven/code/emit.py": "ac63ee481f3d75cb9f0658faaa2412db81d55bc44d9f1ff1c0329ce1e75aa0d4", + "vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-eleven/code/row_bound.py": "de4a9b9cd797e1a05da56f62cfe725c8728cea3a4aa031b7d1b0a68f869760d6", + "vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-eleven/data/selection.json": "52dbbb68e8c147690d15eaa1d952df05d074b0c121885a4159d9f6732f391872", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/e8core.py": "1cb286196c1530d06f50f0997febc5993b388f33464e295611b920ba30a24eeb", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/bank_routes.py": "7c6997c455bd55acca3a1603797c34e7733d557c27a7694a1429ff15773a505d", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/tile_m.py": "d6ae4a556472d403773cd2117c992bfc10e1187112da1b3893f3fae628a131dd", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/data/word.json.gz": "d8d6d3d3f336720302bc40b3c1504fe3c3583a7a8d707bb9bd7b21f85e5e69c6", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/data/residual-isometries.json": "e12ed7ddd13cee101ba74a083b54665fd64d0b122b0bad5b83d817dcc8bae9d8", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-rank149/code/emit.py": "ac63ee481f3d75cb9f0658faaa2412db81d55bc44d9f1ff1c0329ce1e75aa0d4", + "vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-rank149/data/word.json.gz": "41626789888ee070e1b435fa380b10ab9b88e3cf7d8d8e166ecef17269bbcf47", + "vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-rank149/data/residual-isometries.json": "b23fda74a7979179e8fd83ee9870c1e232442cc90c05077adaabfe31d050d1e4", + "vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-rank149/data/selection.json": "4d9c2cf6a3d31a6faa287731e0721cb16601b0bc5c1a186b9645bfb5760ce8db", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/code/audit.py": "d28062127a9b0d3866a3b79aad98a307233b20ebdb94cfb9f197d726b82ffea5", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/code/local_audit.py": "23eda3fe3d774e7f2dbf4dbdd4ff90d69ae7d1762ff95c8629cdc7667aa3fe71", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/code/assemble.py": "abb60c35e448e0f94073f38a0352d11249aaf7bb8dbd7352414ae60a1d2b79c3", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/code/emit.py": "98d77cefbc3a76f9f10bd7df3a2590ab88b411f6afe77b5f8d73f1602eb2bef3", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/data/hosting.json": "765382d4fefd594e94c8c5826ec6300422ce9f79c816d7f7323ef85e99320f28", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/data/word.json.gz": "b2af02f593cd161bea64e6cd793508386914136be519f80726c071697379d5a9", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/data/residual-isometries.json": "750221cc66badd0ed0a74e7aad2d59f91f89c107370af21c6d929fbdd4a08a9f", + "vendor/e8-bit-carrier-skeleton/code/bit/checkers/gram_frames.py": "223a5a07731fc315a90a3e48177796babc155c1d9985c7ae5017eff6af2a0608", + "vendor/e8-bit-carrier-skeleton/code/bit/checkers/json.hpp": "aaf127c04cb31c406e5b04a63f1ae89369fccde6d8fa7cdda1ed4f32dfc5de63", + "vendor/e8-bit-carrier-skeleton/code/bit/checkers/legality_h.cpp": "6c1ef2b24e57781d6951c172a1024fc4300e6fd392c9d6672079a7806ab663b3", + "vendor/e8-bit-carrier-skeleton/code/bit/checkers/columns_k.cpp": "1c344d18fcd494eeca93e259f10cafae7705780e6592f6dcb35b34752dab9bc2", + "vendor/e8-bit-carrier-skeleton/code/bit/checkers/columns_h.cpp": "d1297f9052be4f2496e1ff2a77e4db2c0cdbd7d460d489b4c03e50bf317238ce", + "vendor/e8-bit-carrier-skeleton/code/bit/independent/mutate_mut.py": "3b002c19a5dcca76a5594f2a30fac7c01d2b45fc96b3e7cfbfd8b720f5ffb4e8", + "vendor/e8-bit-carrier-skeleton/code/bit/independent/interface.py": "2c63a039f97e3a11ce5a6b83302d4f5beda160c1db14164a5a9b0855aeb19d3c", + "vendor/e8-bit-carrier-skeleton/code/bit/independent/mutate.py": "0ff65aace5da4b57d96235bf830f8f11969322e75134d498aeb70e9753ec6b0d", + "vendor/e8-bit-carrier-skeleton/code/bit/independent/relax.py": "d6e9f58de3fa41f538516b6227c249d61fb30f0f6843027cc8a07a1a372fa6b6", + "vendor/e8-bit-carrier-skeleton/code/bit/independent/checkword.py": "11bf9620ca9db16d52d9fe806b814fc9ec9a89c4d7645354d1861d96f6e805ad", + "vendor/e8-bit-carrier-skeleton/code/bit/regression/stage_cohort.py": "6c288f6f234b528c1a7c0a4adfb724e91e0fe6b18c8dffad96af3f973de1829a", + "vendor/e8-bit-carrier-skeleton/portable-include/bits/stdc++.h": "420094be2af295eed03a983dd66debbbe9cfb78d8252859f4498a615a0074b99", + "vendor/pr531/proof/DELIVERY-AND-COALESCING.md": "7e719f01416cf312272dfabca8b355d327128859c01d686056e0833e83870bc7", + "vendor/pr531/proof/LOCAL-CONSTRUCTION.md": "3b1fc44f6f8290361cb24526cf91c3174c734f5da3cc9fb94559a96168d39e70", + "vendor/pr531/proof/GLOBAL-HOSTING.md": "c47b61bf2e998583e4626eec068439600f3464aab2ddbdb0ac044b0136d7b502", + "vendor/pr531/evidence/LINE-GAUGE-SELECTION.json": "1ecec9dd594653d54448ba9e2fd7b7b830e26bfd159d3b268672f80d8cb06250", + "vendor/pr531/evidence/FAST-REPLAY.json": "b95028b7cd5a830bd5d702d5193f0bc93d981426ca6f8916eea7a2bf9dcc53a7", + "vendor/pr531/evidence/COALESCING.json": "f9175c204c084e083ba2f8f4bc66dc71feb75d90b1b57b36dfacbffe89568ae0", + "vendor/pr531/evidence/PR523-FIXED-WORD-CEILING.json": "e971df6465b6a37d2042bd7e2169419578d68d7177c060599b16b3f67292935f", + "vendor/pr531/evidence/PUBLIC-SNAPSHOT.json": "d859621516bb33d1c77ea9413b53930fab42447360b7e6246ba839b95a834abb", + "vendor/pr531/evidence/SAME-PARTITION-FRONTIER.json": "3a02123a292730c1dfea8d6c1c8238115b4b07d19c8b8f119b54c345cd1f46af", + "vendor/pr531/evidence/DISCOVERY-MOMENT.json": "d964db94f4a11840bbea57a47c203a2fe6b51a381072d403d1c1504ac2ba0c7b", + "vendor/pr531/evidence/VERIFICATION-SCOPE.json": "424ea699b0849c3e8dd41d585b271906cbbbbddb4c3464fd20dde30133bae367", + "vendor/pr531/evidence/ENTRANCE-SELECTION-SCREEN.json": "2d5c7db49077ea50f0877f1bd3a5839e5c49a7c75519ebaf549bce0e828b7b99", + "vendor/pr531/evidence/BEFORE-COALESCING.json.gz": "5381265008ec84dc0b3eb2870040215b8470620d234573c15e836dba928d910e", + "vendor/pr531/code/emit_supplier_hosted.py": "53c0b653b3a5100756d6a9473c90101b8c3ab72723d7047983906ab997bdf920", + "vendor/pr531/code/audit_same_partition_frontier.py": "3a2a072304c0c112b4938070515035b49595c86565b454806fdcbbfacf0e1bd2", + "vendor/pr531/code/audit_and_transport.py": "a4fc272266785e1fffd44775c6fa6df783c4352de4c3f1d925cf953a23b84e7f", + "vendor/pr531/code/invoice_final.py": "96b6bed96ca8b60dfc064cd1c7962c45a5cb53c4e52cd90aaea6ccf8d109db97", + "vendor/pr531/code/construct_504.py": "a0d96ede40b957c38dcb64296d5f4a76c23dfb8c8875e01a80b5f1bdf6e8360e", + "vendor/pr531/code/assemble.py": "71b4cbbbc5acdfe06ac67879cf54ea761e29e52143af1cd8410ad672a5cc190b", + "vendor/pr531/code/emit_local.py": "eefc76e0bee003015fe21ac685c2cce658033d5444add404d2d509c7d6f39bac", + "vendor/pr531/code/audit_supplier_hosted.py": "301e9b5c593b6d583065337eb7b3ef207cf039e265f099f89080a4bf25856b43", + "vendor/pr531/code/audit_local.py": "69b12c45d0a961175a824c1967353c7f3b94818a7dd6ac7bbcf56a6d1a5ed8e8", + "vendor/pr531/code/adapters_local.py": "4e89a5c517cd87ff6a5aa9b7334c0d74821179ae5777d31284da25b9d8abf113", + "vendor/pr531/code/prepare_supplier_base.py": "f5eae94aca965d0008bc07cff8245ccb7509042ccad457d3bcb7d51c1e9409f0", + "vendor/pr531/code/build_selected.py": "7fa8f981cbf3b01ac960226e6afc6be7bd76d94d9c01796941979deb77bd8875", + "vendor/pr531/code/phases_delta.py": "15723107eff03013b2e797fd9fa3635b1b46c5d1c8112d19fada98c178d4acb6", + "vendor/pr531/code/coalesce_frames.py": "b3e53a17f2519e1afc5bee9b6518252eeb0cb7c56b6e0a1554fdfb54f2908915", + "vendor/pr531/inputs/OWNERS.json.gz": "5e27eaf098214e3ab8159e322241aa90a1ae77b0bff78b426512b87f9f60c91f", + "vendor/pr531/inputs/OWNER-PLAN.json": "13d5284e3d95fd4718b538f7d0d1e6f8db3236d4608a755dce6deade440f4185", + "vendor/pr531/inputs/PR523-ANCESTRY.json": "0bfce40d86c849f18e8872ee9e8462b0a69a34ed04e01e942a6614645f686f4b", + "vendor/pr531/inputs/PR523-PREFIX-AND-INVOICE.json": "bb43ef04791037a37d2596c395e81191991fde6581326118995cf4318ee472a3", + "vendor/pr531/inputs/PR493-EXPECTED.json": "3494ba83280cc86548fe0cc6695c50d23e6b6ffca85aeb1a33337c1196e280cb", + "vendor/pr531/inputs/SELECTION.json": "46cfad0c5a4b8dacc18ed02b5e259f2168e6a93a8dff6ffb447fb0f20917a9bd", + "vendor/pr531/inputs/PR523-EXACT-ASSEMBLY.json": "39900354203609a142d159096ccc221ddb21c1f714b2b74b9b1b325beaf15259", + "vendor/pr531/inputs/ASYNC-6.json": "8a128d7c435f01d9f920c1353711eb0721ce3cbdd0b8799bf69b2d676266dbd3", + "vendor/pr531/inputs/phase-baseline/CANONICAL-WORD.json.gz": "addf598581d2a20e13d0c18110607515ad90b06125616a2349e53a47bb5b6c80", + "vendor/pr531/inputs/phase-baseline/LOCAL-CHECKS.json": "ead7163869ecb9fc276f477c0ec0ed85dc74d7901ce04f91213bcf7ee1f20382", + "vendor/pr531/inputs/phase-baseline/CLIFFORD-REVIEW.json": "468a5df1937e82a0b8e8c1c2540e18480f354154325353c5596c68e7435c89c2", + "vendor/pr531/inputs/phase-baseline/CLIFFORD-RECIPES.json": "1f37afd5a9e14b113ba56e0ac8a5200a6b41c695d2cd308dc0fd6ec46a4c73d2", + "vendor/pr531/inputs/hamming/PACKET-PROGRAMS.json.gz": "d833ae0390d165d7da0c639a3c7aeb77156c2ddb52447087cb49b9d03b19e9b9", + "vendor/pr531/inputs/hamming/PROTOTYPE.json": "327d2a868043e846381aa58a33053c24425e8cad522ff401b10ec8af1d649a3f", + "vendor/pr531/inputs/data-base/split-centres/CANONICAL-WORD.json.gz": "addf598581d2a20e13d0c18110607515ad90b06125616a2349e53a47bb5b6c80", + "vendor/pr531/inputs/data-base/split-centres/GLOBAL-TEMPLATE.json.gz": "5b913207775fcd87090cfa8776e8bd2bb872426923345fe1a1a4e1ea84bfae2c", + "vendor/pr531/inputs/data-base/work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "vendor/pr531/inputs/data-base/work/pr361/code/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "vendor/pr531/inputs/data-base/work/pr361/code/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "vendor/pr531/inputs/data-base/work/pr361/code/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "vendor/pr531/vendor/clifford/clifford_exact.py": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962", + "vendor/pr531/vendor/gk/gk_word.py": "f027a9273bcf4e0971258c160b7d3b3c196366b32a529cff6e6a0e666b03826b", + "vendor/pr531/vendor/gk/gk_common.py": "e68d190fd436b2f3955decb590adb53344d5d4ea0a19d62d86df1e4b55ecd198", + "vendor/pr531/evidence/hosted/HOSTED.json": "a0b29d73f2beb821a59f356150a7a9475394643bf9fd8eb5a67a6fc4d46ad2f5", + "vendor/pr531/evidence/hosted/ACTUAL-SIGMAS.json.gz": "dbced27348bd0ae2fb937a9c1fd03e2181d7268ccdea5d80ebbe6ec3fed314d9", + "vendor/pr531/evidence/hosted/IDLE-REMAINDER-FRAMES.json.gz": "a21fb2c7395b7193d46752f7bd9cc670fbfffc7287f8370bd9f6df0aed6b21eb", + "vendor/pr531/evidence/hosted/GLOBAL-TEMPLATE.json.gz": "0c5ea47883fafc2aa0b2b9711e7c52a3fc8fdf96c84eb3043834e34ced550473", + "vendor/pr531/evidence/local/CANONICAL-WORD.json.gz": "de2be0f4b6d24ace368fd5b834b7a00f9625d0a1824c4ff969f2db5f115db667", + "vendor/pr531/evidence/local/RESIDUAL-ADAPTERS.json": "83a91fb9cbbe600328cd399f67fdb6ffb698ed3b20d050916d21f3af48b0db20", + "vendor/pr531/evidence/local/LOCAL-PROGRAMS.json.gz": "755a5c4ebe958fd9f7b5d4a6e7a506d2c802e31c4d9da46b63db1994c4d8ffa6", + "vendor/pr531/evidence/local/LOCAL-CHECKS.json": "c6807681d40cb46c21a50edc1058044ddc758f2dd3e6b0bab16d7cb28d41732f", + "vendor/pr531/evidence/local/CLIFFORD-REVIEW.json": "a917bb1abdc864b404dc4a869af3e29aaab2270d392b662cb60b70ebbe5d1975", + "vendor/pr531/evidence/local/LEMMA-A.json": "f789357f75d562ec9c6f2ef75ced6f4286df2840b493600147b34a36ad0fa460", + "vendor/pr531/evidence/local/INDEPENDENT-LOCAL-REPLAY.json": "4149f3d2ec3041965c5d72869748090d9aeed422f36d753550c543bb7808b30b", + "vendor/pr531/evidence/local/CLIFFORD-RECIPES.json": "1ac0a7d07a487bf58e59e82a8a656a3a3edca5731af9029ad7874b535407ceb9", + "vendor/pr531/evidence/local/FULL-WORD.json.gz": "bd6b004c4948d5ce80d4f81477338fe30434c2a94586463fdcc531df0dbc9509", + "vendor/pr531/evidence/local/SCALAR-FRAME-AUDIT.json": "5bf884b9c5c9e65658974a8f5548f93a583fb48461e8125fa68893aa2b403718", + "vendor/pr531/evidence/audit/OWNERS-AND-PROFILE.json": "e5f11e7b920f9985f085546c641dbac5b8d98231d562e1e030ab2566ccea4bd6", + "vendor/pr531/evidence/audit/PREFIX-AND-INVOICE.json": "ce1bfa49be88ae67a404f606a11db2232b7e1f2610d4418058e39749d86d8478", + "vendor/pr531/evidence/audit/GLOBAL-PREFIX.json": "378275e21f7ff147cd7cb0b33c972e75139d949195ddf13dd71b55a77a0f7cfb", + "vendor/pr531/evidence/audit/ASYNC-AUDIT.json": "01ea0015d4e08170ac65f1cdd051be64e07f622eba62eadbf39524317388cba7", + "vendor/pr531/evidence/audit/IDLE-REMAINDER-FRAMES.json": "7923ed6a528f006c353fe7e0639fd230ad140ca835b8e64ceadc7aefb0300ea8", + "vendor/pr531/evidence/audit/EXACT-ASSEMBLY.json": "550c6703e73b2dcfaae986706ceb1ac67ecd93dec8b591954abe51c7fa3b7a03", + "vendor/e8-bit-r420/discovery/planL3b.py": "7179039fddf3ea12c9cb1d61fad6668f3282b50afdc43c7948d0bfc3a2b35c77", + "vendor/e8-bit-r420/discovery/README.md": "9970e45fd1d5b34a2a384dee0e2768b6f17f85d26751860cd649d12144604e3c", + "vendor/e8-bit-r420/discovery/planL3.py": "dd65e617aa786754520ca839988a6f0a87af53ca108e2bd722bfd69ee2c71508", + "vendor/e8-bit-r420/code/xcheck.py": "5737d18a7826fd51e131035f2d7bebba2e2868af91dd7672a5f11208b036d424", + "vendor/e8-bit-r420/code/mutants.py": "e2fd3429e2db4389ae8a5ab47dda89f551b0d0952c42fad5ac8d38a85d670594", + "vendor/e8-bit-r420/code/planio.py": "c0a687f61aed29455cea953d8a3e49a32136edb3cd4213c46880c146a6ca7fa3", + "vendor/e8-bit-r420/code/summary.py": "afdf2e53648b417fcc49cd05e9a18ee9fff9ae41e791a6ffa333130e30f35feb", + "vendor/e8-bit-r420/code/gen_l3.py": "d5c802447c99255db1bdfcae62b2116bfc9612c9dc9000d41aa4f5f2fec9f2f2", + "vendor/e8-bit-r420/code/cited.py": "1770f4eb61e130e3cc6e23f67507d8bb7587baaf8391d749c2e7fe5c66089044", + "vendor/e8-bit-r420/code/provenance.py": "aade757c1e4e2714207cbc80a9a60793d84b5f009de2cac79ee8d3239986fd2a", + "vendor/e8-bit-r420/code/adapt11.py": "46c205f6036bb8635a34ab6ef2c54a9e446bec1435fcc14ab55949a5dbee8aa4", + "vendor/e8-bit-r420/code/mutrec_b.py": "231cbf26bfe5e6824347e4556959941d8b4dea1efa06d7f88d7a73cca8b03158", + "vendor/e8-bit-r420/code/nodeopt.py": "6a5896f60b1fe05c41ab28ce822dff782c635e12d0c74fad20b5ce2a4010fa3f", + "vendor/e8-bit-r420/data/plan-l3.json": "d5c2494b4baae801143049e172db303b3c8e25a002e9d9715a1d79dcb2d74c58", + "vendor/e8-bit-r420/data/complex-b.json": "ec81d67d8a82d41859ee33a4e387679b71e5ced15de074a71195d08969dd308a", + "vendor/e8-bit-r420/data/selection9-r420.json": "9737b5f39367ee5a8affa52e5fbb92d1408f0f9e9f14ed64d6f00ea9428b291c", + "vendor/e8-bit-r420/data/hosting11-r420.json": "d7964e04604f804b2b334a989087a5e855243160f4d40cf9336d9b25995ac5d8", + "vendor/e8-bit-r420/data/bitE8mut-r420.json.gz": "9721a3819efd68307f66f00d84a952eb28eb7c3ad2ce79653ce295c98a764784", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/EXPECTED.json": "883f7a1a84f31d9e4430e348bc8d9c1ec10210b206ff602dbe126349056af13d", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-dead-totals/data/bitE8mut-r480.json.gz": "92e399e9a486b55229b5624632ac54f800dd9e022f2aee97f1e5f264bbc0ef5c", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/code/assemble9.py": "4bf6768224a3fac81ccda26df24f3763f9a4fbc35ad62bef2888595cdae519fe", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/code/adapt.py": "27b6b77cc4ebf439f9019e63a22dedc1ef72ee65fe120aad3d17316b1df06d7b", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/data/selection9-r480.json": "8176db518bed23ea8121543bfb18085ec6633064142ba40ac5db00f63b06553d", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/idle-axis-hosting/hosting_core.py": "d8b90cd5d152df3c7c351230863d9e61816ad5e1f21d69bea1a86a5daad559a3", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/config.py": "283d7fad45155ee91e704d63ec947cf4a60aeff5cc43510bc0e835f7da7d8767", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/e8core.py": "1cb286196c1530d06f50f0997febc5993b388f33464e295611b920ba30a24eeb", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/bank_routes.py": "7c6997c455bd55acca3a1603797c34e7733d557c27a7694a1429ff15773a505d", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/tile_m.py": "d6ae4a556472d403773cd2117c992bfc10e1187112da1b3893f3fae628a131dd", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/bank_routes_k.py": "ea678a7befda10c6f1b9dd38a36fe1437c6468472bd649f60b9f01522047e0bf", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/global_k.py": "6368196a393ac25bb2918880e4c4bd31ed733b762c27b6873ab391cbc0c5c3c8", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/emit_k.py": "298b16c3d4f58a468ad1a64564c8500cb281414a3f3c0428fd467908eeb4a4b4", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/audit_hosted_k.py": "57e558c80a2fea6e291587b04afd76dfaee3550729997798b61f33daf90b8ec9", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/audit_parent_k.py": "374e1d983589463bbfa06b6e9f2ffafb9d2c14acf97b1f858593a3cef90e93d2", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/hosting_k.py": "081c3b95b18d900d97ce82af64fb428f085b6adc6d8ca93ea920797dad7eb81e", + "vendor/e8-bit-r420/data/complex/pr535/EXPECTED.json": "cb734055c36681d38cf431a6926b7713351a94073cfba37d70a5384a9ef0d178", + "vendor/e8-bit-r420/data/complex/pr535/EXACT-ASSEMBLY-PR493.json": "3f4be566309841e00e842d5686f7937a355ae1a6a2eaa3ccb07bdf8a9ca604fb", + "vendor/pr548/docs/PR-LINEAGE.md": "5da58a79e16072498e9059740505318fa084ef0df81d82cc3563356e98fad8d9", + "vendor/pr548/complex-local/code/port_frames.py": "8d25abc9c45c58a5b893e67f9abec3a660e8d7f743e86959f2d2fd62037e23d1", + "vendor/pr548/complex-local/code/apply_syndrome.py": "496a91b9da15ef56e6df28a0459ca8318a4575441c7921e113bf636f31e3c5d8", + "vendor/pr548/complex-local/docs/TWO-SOURCE-PROOF.md": "4d6423f773ec47d2eea984e02f11f2d636e02ad3e6f3eb3e640a3768fa04fe75", + "vendor/pr548/complex-local/docs/OPENAI-SOURCES.json": "1a9c08d0c0190f0280c02e74c8a144f802efe2d7d8eb3a0b50b181d6dca686cd", + "vendor/pr548/complex-local/inputs/PR534-WORD.json.gz": "a275792cb9f5729fac295cb04c556afbaa4513945c517190219fd0e44ab90095", + "vendor/pr548/complex-global/vendor531/evidence/local/CANONICAL-WORD.json.gz": "de2be0f4b6d24ace368fd5b834b7a00f9625d0a1824c4ff969f2db5f115db667", + "vendor/pr548/complex-global/vendor535/inputs/ROUND20-PARENT-TEMPLATE.json.gz": "025448abdf2012d327e50a009084e1501690d05e650300d2982836aa0350ae00" +} diff --git a/research/subspace16-r420/NOTICE.md b/research/subspace16-r420/NOTICE.md new file mode 100644 index 0000000000..6977c60f8a --- /dev/null +++ b/research/subspace16-r420/NOTICE.md @@ -0,0 +1,13 @@ +# Attribution + +Prepared for chafreaky with OpenAI Codex assistance. Apache-2.0; see LICENSE. +Original author, copyright, license and assistance notices remain in vendor files. + +- eumemic's PR543 supplies the complete R420 bit construction, H1-H5 interleaved interface, native/global audits and driver. Its Anthropic Claude assistance and all predecessor credits are retained. +- Dugongue's PR548 supplies the complex frame-lift composition, cold-dirt substitution and physical owner assignment. PR534 (rohanarun, Claude-assisted) supplies the transferred frame assignment. +- Dugongue's PR541 and our PR544 supply static44 reconstruction and complete phase replay. icekylinx's PR535/531 and DreamingOfClouds' PR484 lineage supply the earlier complex construction, compiler and independent physical checkers. +- PR493/503/510 and their credited predecessors supply the bit geometry, native checkers, global chains and invoice machinery. + +The new contribution is the frozen 63-frame subspace assignment with exact delta 16(e1-e2-e3+e4), after zero-response pruning, and its complete physical composition with R420. The baseline scalar rewrite and prior 477 frame lifts are not new here. All 245 vendored source files are byte-bound to exact Git blobs. + +The temporary PR543 shell driver changes source location and gzip OS metadata normalization only; mathematical assertions and native checkers remain unchanged. The compiler and all-size interfaces retain their explicit conditional scope. diff --git a/research/subspace16-r420/README.md b/research/subspace16-r420/README.md new file mode 100644 index 0000000000..4be7c7e0e8 --- /dev/null +++ b/research/subspace16-r420/README.md @@ -0,0 +1,23 @@ +# Subspace16 complex supplier with R420 bits + +Conditional **κ = 0.001591968902833346**, about **0.06189551% above PR547** at `eecca20a24258cb6d9f698b1984a95029bac0a1c` (κ = 0.001590984155135328). The complex supplier binds at b = 0.001594507308884431019637; PR543's unchanged bit supplier gives c = 0.001653826988146798944268. + +The new contribution is a frozen assignment of 63 gate frames. Starting from PR548's complex word, exact suffix-response pruning removes 238 preparation gates and regenerates inverse cleanup. The frame assignment then replaces 16 pairs of rank-2/rank-3 children with rank-1/rank-4 children. It preserves scalar operations of the sliced word, all helper widths, starts, the central cut, and the complete physical owner assignment. Its local histogram is `{1:2300, 2:440, 3:472, 4:184, 5:56, 6:56, 8:8}`. + +The verifier reconstructs both suppliers, including PR543's complete native/interface/global driver, all 2,929 complex phase edges and 224 endpoint adapters, literal owners, finite invoices, two independent exact moment engines, and all 47 strict outer inequalities. Search output is a recipe, not a trusted certificate. No search or optimizer is needed for the new frame construction; the unchanged PR543 driver retains its own nomination controls. + +## Reproduce + +Use Python 3.11+ with NumPy, SciPy and SymPy, a C++17 compiler, and genuine Boost multiprecision headers. Keep assertions enabled. + +```sh +python -B research/subspace16-r420/verify.py \ + --work /absolute/new/subspace16-check \ + --cxx c++ --boost-include /usr/include +``` + +The output directory must be new and outside the package. The input manifest is checked before and after replay. The retained PR543 driver is copied to scratch only to pin its source directory and normalize the gzip OS metadata byte; its mathematical checks remain unchanged. Cross-platform raw template hashes may differ because PR543 includes measured timing in its geometry metadata; semantic comparisons must disclose that distinction. + +See [the proof and scope](proof/SUBSPACE16.md), [source pins](SOURCES.json), and original notices under `vendor/`. PR548 supplies the 477 frame lifts from PR534, its cold-dirt substitution and owner assignment; PR541/544 supply static44; PR535/531 supply the earlier complex construction and physical audit; PR543 supplies R420 bits. These dependencies are credited, not claimed as new here. + +This is a finite conditional witness. All-size compiler realization, common-label/mutable-source transfer, complete-call hosting, precision/tape costs and analytic transfer remain inherited premises. PR543's interleaved phase-B source writes use its stated H1–H5 interface argument. The unchanged complex data controller is a pinned dependency. No unconditional multiplication theorem, new Lean certification, measured speedup or κ = 1 result is claimed. diff --git a/research/subspace16-r420/SOURCE-GIT-BLOBS.json b/research/subspace16-r420/SOURCE-GIT-BLOBS.json new file mode 100644 index 0000000000..fa56110a91 --- /dev/null +++ b/research/subspace16-r420/SOURCE-GIT-BLOBS.json @@ -0,0 +1,1721 @@ +{ + "status": "PASS", + "files": [ + { + "file": "vendor/pr531/EXPECTED.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/EXPECTED.json", + "sha256": "0c4c7df98633ace6dd3f1604462dd509945f6b2d463a0b045442b785906101f1", + "git_blob": "c340c32b84d7ea63c5f15eac78e38eace428c599" + }, + { + "file": "vendor/pr531/LICENSE", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/LICENSE", + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "git_blob": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64" + }, + { + "file": "vendor/pr531/LOCAL-VALIDATION.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/LOCAL-VALIDATION.json", + "sha256": "e7dcbbe16d3a51288dddcc9022ba852ea6c9d428f8391c72d9b61429168a5561", + "git_blob": "b3665a2df39f49d0bd62f04be1c94480736aa74c" + }, + { + "file": "vendor/pr531/MANIFEST.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/MANIFEST.json", + "sha256": "c1997405c5c0ccd9bdb0a30b0eb9a5a2dc7dc7ce7b59c6a83a2152b80f6410d1", + "git_blob": "aea8671e692bb88ea8cf5e905dc0707eec7919e4" + }, + { + "file": "vendor/pr531/NOTICE.md", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/NOTICE.md", + "sha256": "a92f49c5ced455160fbedcc8954e3c9255e3605e88ad12ae5a84f1c4302986f1", + "git_blob": "f7a8f861be860edd5a78114c5225dec90effa029" + }, + { + "file": "vendor/pr531/README.md", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/README.md", + "sha256": "305497b4bf15e691bf0ea504f628a397ea40b814053948ca32c84ce5c16e6f5b", + "git_blob": "57c36d5a57dde4fa83551fa5c78de4157082b729" + }, + { + "file": "vendor/pr531/SOURCES.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/SOURCES.json", + "sha256": "9e8182e6e659f4671fe0873e324b622cc871df7344157093df40476c8687be5f", + "git_blob": "78244052aae4866ae9e8e2d2e4c10180870a0fc4" + }, + { + "file": "vendor/pr531/code/adapters_local.py", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/code/adapters_local.py", + "sha256": "4e89a5c517cd87ff6a5aa9b7334c0d74821179ae5777d31284da25b9d8abf113", + "git_blob": "787416e4dd84db0981d3cb94f4e424c652e0085a" + }, + { + "file": "vendor/pr531/code/assemble.py", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/code/assemble.py", + "sha256": "71b4cbbbc5acdfe06ac67879cf54ea761e29e52143af1cd8410ad672a5cc190b", + "git_blob": "a234aecb14de159247809af1120fedc1aab20df9" + }, + { + "file": "vendor/pr531/code/audit_and_transport.py", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/code/audit_and_transport.py", + "sha256": "a4fc272266785e1fffd44775c6fa6df783c4352de4c3f1d925cf953a23b84e7f", + "git_blob": "95ae517f2ea66b4a35ed16b6ab861271554d64d0" + }, + { + "file": "vendor/pr531/code/audit_local.py", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/code/audit_local.py", + "sha256": "69b12c45d0a961175a824c1967353c7f3b94818a7dd6ac7bbcf56a6d1a5ed8e8", + "git_blob": "a09611844a49e1d7f73ddc1c0a2df3b0cec640ec" + }, + { + "file": "vendor/pr531/code/audit_same_partition_frontier.py", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/code/audit_same_partition_frontier.py", + "sha256": "3a2a072304c0c112b4938070515035b49595c86565b454806fdcbbfacf0e1bd2", + "git_blob": "6cbec5ec579f08c62e2059bf8c76572ca49b147d" + }, + { + "file": "vendor/pr531/code/audit_supplier_hosted.py", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/code/audit_supplier_hosted.py", + "sha256": "301e9b5c593b6d583065337eb7b3ef207cf039e265f099f89080a4bf25856b43", + "git_blob": "62b721b6e6d467b76722f0e95158986a420aaeda" + }, + { + "file": "vendor/pr531/code/build_selected.py", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/code/build_selected.py", + "sha256": "7fa8f981cbf3b01ac960226e6afc6be7bd76d94d9c01796941979deb77bd8875", + "git_blob": "be31d643452234db07ac02dd7f509e773081e8a1" + }, + { + "file": "vendor/pr531/code/coalesce_frames.py", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/code/coalesce_frames.py", + "sha256": "b3e53a17f2519e1afc5bee9b6518252eeb0cb7c56b6e0a1554fdfb54f2908915", + "git_blob": "923bb01d96c1997d8e050f11113266e77ea39676" + }, + { + "file": "vendor/pr531/code/construct_504.py", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/code/construct_504.py", + "sha256": "a0d96ede40b957c38dcb64296d5f4a76c23dfb8c8875e01a80b5f1bdf6e8360e", + "git_blob": "776d046cde22be2bee34e5ce9b7f36f3126ed6b5" + }, + { + "file": "vendor/pr531/code/emit_local.py", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/code/emit_local.py", + "sha256": "eefc76e0bee003015fe21ac685c2cce658033d5444add404d2d509c7d6f39bac", + "git_blob": "a54170b0023d467be3da1db9d8623ac4665f0afe" + }, + { + "file": "vendor/pr531/code/emit_supplier_hosted.py", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/code/emit_supplier_hosted.py", + "sha256": "53c0b653b3a5100756d6a9473c90101b8c3ab72723d7047983906ab997bdf920", + "git_blob": "41c46015c7e19ab77f96580dbb98e12ca07aa2fd" + }, + { + "file": "vendor/pr531/code/invoice_final.py", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/code/invoice_final.py", + "sha256": "96b6bed96ca8b60dfc064cd1c7962c45a5cb53c4e52cd90aaea6ccf8d109db97", + "git_blob": "abefcee47ba03edcf170abc92f00fa8b988d6c4a" + }, + { + "file": "vendor/pr531/code/phases_delta.py", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/code/phases_delta.py", + "sha256": "15723107eff03013b2e797fd9fa3635b1b46c5d1c8112d19fada98c178d4acb6", + "git_blob": "8d78d26b3b03fa23c6af1e650326ab3925ec2b46" + }, + { + "file": "vendor/pr531/code/prepare_supplier_base.py", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/code/prepare_supplier_base.py", + "sha256": "f5eae94aca965d0008bc07cff8245ccb7509042ccad457d3bcb7d51c1e9409f0", + "git_blob": "650fc9fd77fd61930ab3a352cd8d0fb5b7f0f03b" + }, + { + "file": "vendor/pr531/evidence/BEFORE-COALESCING.json.gz", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/BEFORE-COALESCING.json.gz", + "sha256": "5381265008ec84dc0b3eb2870040215b8470620d234573c15e836dba928d910e", + "git_blob": "8e05f2ea80e606cc1693e79dbe5fcf7b9bbb984d" + }, + { + "file": "vendor/pr531/evidence/COALESCING.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/COALESCING.json", + "sha256": "f9175c204c084e083ba2f8f4bc66dc71feb75d90b1b57b36dfacbffe89568ae0", + "git_blob": "005eb7c7b709242b073e5b125f9a21d3e2e6eacc" + }, + { + "file": "vendor/pr531/evidence/DISCOVERY-MOMENT.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/DISCOVERY-MOMENT.json", + "sha256": "d964db94f4a11840bbea57a47c203a2fe6b51a381072d403d1c1504ac2ba0c7b", + "git_blob": "3b76774ab778722fe96bc8397fe032f9cdc5bf0e" + }, + { + "file": "vendor/pr531/evidence/ENTRANCE-SELECTION-SCREEN.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/ENTRANCE-SELECTION-SCREEN.json", + "sha256": "2d5c7db49077ea50f0877f1bd3a5839e5c49a7c75519ebaf549bce0e828b7b99", + "git_blob": "d8ad6da1e4db2431218d234bb8a83ab31a61c326" + }, + { + "file": "vendor/pr531/evidence/FAST-REPLAY.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/FAST-REPLAY.json", + "sha256": "b95028b7cd5a830bd5d702d5193f0bc93d981426ca6f8916eea7a2bf9dcc53a7", + "git_blob": "0fd30496660a3346f13a3bcf62572e6843bf81a9" + }, + { + "file": "vendor/pr531/evidence/LINE-GAUGE-SELECTION.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/LINE-GAUGE-SELECTION.json", + "sha256": "1ecec9dd594653d54448ba9e2fd7b7b830e26bfd159d3b268672f80d8cb06250", + "git_blob": "25f2728d5c21e7a392281924a7fed35c3b94ac58" + }, + { + "file": "vendor/pr531/evidence/PR523-FIXED-WORD-CEILING.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/PR523-FIXED-WORD-CEILING.json", + "sha256": "e971df6465b6a37d2042bd7e2169419578d68d7177c060599b16b3f67292935f", + "git_blob": "0f7a58dccd555f90d93120db03e57e0b446461c8" + }, + { + "file": "vendor/pr531/evidence/PUBLIC-SNAPSHOT.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/PUBLIC-SNAPSHOT.json", + "sha256": "d859621516bb33d1c77ea9413b53930fab42447360b7e6246ba839b95a834abb", + "git_blob": "47bba0bf10604cb2ce986516e180065d8e1f2963" + }, + { + "file": "vendor/pr531/evidence/SAME-PARTITION-FRONTIER.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/SAME-PARTITION-FRONTIER.json", + "sha256": "3a02123a292730c1dfea8d6c1c8238115b4b07d19c8b8f119b54c345cd1f46af", + "git_blob": "1aeb0e450ede3d87efc68f35043ec8c57f289d91" + }, + { + "file": "vendor/pr531/evidence/VERIFICATION-SCOPE.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/VERIFICATION-SCOPE.json", + "sha256": "424ea699b0849c3e8dd41d585b271906cbbbbddb4c3464fd20dde30133bae367", + "git_blob": "5fc6f9fdc7091cb52f5374922baa4d509d635df9" + }, + { + "file": "vendor/pr531/evidence/audit/ASYNC-AUDIT.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/audit/ASYNC-AUDIT.json", + "sha256": "01ea0015d4e08170ac65f1cdd051be64e07f622eba62eadbf39524317388cba7", + "git_blob": "539f7cc1bdc75f67918c3c869f99a8fc9ec41fe9" + }, + { + "file": "vendor/pr531/evidence/audit/EXACT-ASSEMBLY.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/audit/EXACT-ASSEMBLY.json", + "sha256": "550c6703e73b2dcfaae986706ceb1ac67ecd93dec8b591954abe51c7fa3b7a03", + "git_blob": "0227dc1a3a4924584c1d9da34ab9e3fe93638aaf" + }, + { + "file": "vendor/pr531/evidence/audit/GLOBAL-PREFIX.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/audit/GLOBAL-PREFIX.json", + "sha256": "378275e21f7ff147cd7cb0b33c972e75139d949195ddf13dd71b55a77a0f7cfb", + "git_blob": "f6df6e93f4db8d266a7527a31d330b3c7f92cdcf" + }, + { + "file": "vendor/pr531/evidence/audit/IDLE-REMAINDER-FRAMES.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/audit/IDLE-REMAINDER-FRAMES.json", + "sha256": "7923ed6a528f006c353fe7e0639fd230ad140ca835b8e64ceadc7aefb0300ea8", + "git_blob": "2f074d27930315c7d425afc44d0f23d484643f6d" + }, + { + "file": "vendor/pr531/evidence/audit/OWNERS-AND-PROFILE.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/audit/OWNERS-AND-PROFILE.json", + "sha256": "e5f11e7b920f9985f085546c641dbac5b8d98231d562e1e030ab2566ccea4bd6", + "git_blob": "3506e0a20c6ceda81f454236e2016cebfab5347c" + }, + { + "file": "vendor/pr531/evidence/audit/PREFIX-AND-INVOICE.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/audit/PREFIX-AND-INVOICE.json", + "sha256": "ce1bfa49be88ae67a404f606a11db2232b7e1f2610d4418058e39749d86d8478", + "git_blob": "a16bf40bccc81278a443e0d5f09b44495035de81" + }, + { + "file": "vendor/pr531/evidence/hosted/ACTUAL-SIGMAS.json.gz", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/hosted/ACTUAL-SIGMAS.json.gz", + "sha256": "dbced27348bd0ae2fb937a9c1fd03e2181d7268ccdea5d80ebbe6ec3fed314d9", + "git_blob": "668c76d6f0a41595329e18750eee055bfb34664e" + }, + { + "file": "vendor/pr531/evidence/hosted/GLOBAL-TEMPLATE.json.gz", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/hosted/GLOBAL-TEMPLATE.json.gz", + "sha256": "0c5ea47883fafc2aa0b2b9711e7c52a3fc8fdf96c84eb3043834e34ced550473", + "git_blob": "d776359cd0d6e4ae38ddf8aa81c3c9ad70c31573" + }, + { + "file": "vendor/pr531/evidence/hosted/HOSTED.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/hosted/HOSTED.json", + "sha256": "a0b29d73f2beb821a59f356150a7a9475394643bf9fd8eb5a67a6fc4d46ad2f5", + "git_blob": "e024e9b49f7af4ea5a24a3c83ba1f72c40a9a906" + }, + { + "file": "vendor/pr531/evidence/hosted/IDLE-REMAINDER-FRAMES.json.gz", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/hosted/IDLE-REMAINDER-FRAMES.json.gz", + "sha256": "a21fb2c7395b7193d46752f7bd9cc670fbfffc7287f8370bd9f6df0aed6b21eb", + "git_blob": "e2bbdec99b6fcbd632e61f8ca3b7a18e307746de" + }, + { + "file": "vendor/pr531/evidence/local/CANONICAL-WORD.json.gz", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/local/CANONICAL-WORD.json.gz", + "sha256": "de2be0f4b6d24ace368fd5b834b7a00f9625d0a1824c4ff969f2db5f115db667", + "git_blob": "3b0a475178f4e4ad107e3595992c872e47e83c63" + }, + { + "file": "vendor/pr531/evidence/local/CLIFFORD-RECIPES.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/local/CLIFFORD-RECIPES.json", + "sha256": "1ac0a7d07a487bf58e59e82a8a656a3a3edca5731af9029ad7874b535407ceb9", + "git_blob": "1dac4506d502bb6508e0a1affa3577867576a78f" + }, + { + "file": "vendor/pr531/evidence/local/CLIFFORD-REVIEW.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/local/CLIFFORD-REVIEW.json", + "sha256": "a917bb1abdc864b404dc4a869af3e29aaab2270d392b662cb60b70ebbe5d1975", + "git_blob": "7b98ce47d9185d8f8c6291029ad014b15fff2925" + }, + { + "file": "vendor/pr531/evidence/local/FULL-WORD.json.gz", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/local/FULL-WORD.json.gz", + "sha256": "bd6b004c4948d5ce80d4f81477338fe30434c2a94586463fdcc531df0dbc9509", + "git_blob": "bff313755c9ffcf6d246ffeef77bbe2846b560c1" + }, + { + "file": "vendor/pr531/evidence/local/INDEPENDENT-LOCAL-REPLAY.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/local/INDEPENDENT-LOCAL-REPLAY.json", + "sha256": "4149f3d2ec3041965c5d72869748090d9aeed422f36d753550c543bb7808b30b", + "git_blob": "0634281e1e26826fa7a577647f354c32eea53378" + }, + { + "file": "vendor/pr531/evidence/local/LEMMA-A.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/local/LEMMA-A.json", + "sha256": "f789357f75d562ec9c6f2ef75ced6f4286df2840b493600147b34a36ad0fa460", + "git_blob": "00d4137aaf2a0d0f440888e33d08921006b91193" + }, + { + "file": "vendor/pr531/evidence/local/LOCAL-CHECKS.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/local/LOCAL-CHECKS.json", + "sha256": "c6807681d40cb46c21a50edc1058044ddc758f2dd3e6b0bab16d7cb28d41732f", + "git_blob": "13a6d63422ddcdb28f84850c58fed2f563e4190f" + }, + { + "file": "vendor/pr531/evidence/local/LOCAL-PROGRAMS.json.gz", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/local/LOCAL-PROGRAMS.json.gz", + "sha256": "755a5c4ebe958fd9f7b5d4a6e7a506d2c802e31c4d9da46b63db1994c4d8ffa6", + "git_blob": "ece62f551506d9db419fdb47e94cb9c4d149d3d6" + }, + { + "file": "vendor/pr531/evidence/local/RESIDUAL-ADAPTERS.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/local/RESIDUAL-ADAPTERS.json", + "sha256": "83a91fb9cbbe600328cd399f67fdb6ffb698ed3b20d050916d21f3af48b0db20", + "git_blob": "7d4278521bb1cc535c6419e3a840c4fa864fefe8" + }, + { + "file": "vendor/pr531/evidence/local/SCALAR-FRAME-AUDIT.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/evidence/local/SCALAR-FRAME-AUDIT.json", + "sha256": "5bf884b9c5c9e65658974a8f5548f93a583fb48461e8125fa68893aa2b403718", + "git_blob": "262bf0ab6739cd00023375cdc4ece0cb9d816a79" + }, + { + "file": "vendor/pr531/inputs/ASYNC-6.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/inputs/ASYNC-6.json", + "sha256": "8a128d7c435f01d9f920c1353711eb0721ce3cbdd0b8799bf69b2d676266dbd3", + "git_blob": "896cf316baa64faa7bc0916352668bcbaa9ac84d" + }, + { + "file": "vendor/pr531/inputs/OWNER-PLAN.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/inputs/OWNER-PLAN.json", + "sha256": "13d5284e3d95fd4718b538f7d0d1e6f8db3236d4608a755dce6deade440f4185", + "git_blob": "c9be65be108ea585bd5848984781a07c6451b844" + }, + { + "file": "vendor/pr531/inputs/OWNERS.json.gz", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/inputs/OWNERS.json.gz", + "sha256": "5e27eaf098214e3ab8159e322241aa90a1ae77b0bff78b426512b87f9f60c91f", + "git_blob": "5af19a97cf7d7413019660c0a52549a282d54a4b" + }, + { + "file": "vendor/pr531/inputs/PR493-EXPECTED.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/inputs/PR493-EXPECTED.json", + "sha256": "3494ba83280cc86548fe0cc6695c50d23e6b6ffca85aeb1a33337c1196e280cb", + "git_blob": "973aaf30f1ec6a4d58038acabb9361ee1f44787a" + }, + { + "file": "vendor/pr531/inputs/PR523-ANCESTRY.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/inputs/PR523-ANCESTRY.json", + "sha256": "0bfce40d86c849f18e8872ee9e8462b0a69a34ed04e01e942a6614645f686f4b", + "git_blob": "385a202fbc485ceaed1b604d6c21eb3486caa600" + }, + { + "file": "vendor/pr531/inputs/PR523-EXACT-ASSEMBLY.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/inputs/PR523-EXACT-ASSEMBLY.json", + "sha256": "39900354203609a142d159096ccc221ddb21c1f714b2b74b9b1b325beaf15259", + "git_blob": "9fb041e0ca03892560724c7f306906f9896073b4" + }, + { + "file": "vendor/pr531/inputs/PR523-PREFIX-AND-INVOICE.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/inputs/PR523-PREFIX-AND-INVOICE.json", + "sha256": "bb43ef04791037a37d2596c395e81191991fde6581326118995cf4318ee472a3", + "git_blob": "50b017a1640e28776f64859263ccec3e7b7df210" + }, + { + "file": "vendor/pr531/inputs/SELECTION.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/inputs/SELECTION.json", + "sha256": "46cfad0c5a4b8dacc18ed02b5e259f2168e6a93a8dff6ffb447fb0f20917a9bd", + "git_blob": "0c7be548e8f0a05372c82d545937148d5ffc964b" + }, + { + "file": "vendor/pr531/inputs/data-base/split-centres/CANONICAL-WORD.json.gz", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/inputs/data-base/split-centres/CANONICAL-WORD.json.gz", + "sha256": "addf598581d2a20e13d0c18110607515ad90b06125616a2349e53a47bb5b6c80", + "git_blob": "7f98e8dafa05ad789ee056eed9f4d6a453105ae4" + }, + { + "file": "vendor/pr531/inputs/data-base/split-centres/GLOBAL-TEMPLATE.json.gz", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/inputs/data-base/split-centres/GLOBAL-TEMPLATE.json.gz", + "sha256": "5b913207775fcd87090cfa8776e8bd2bb872426923345fe1a1a4e1ea84bfae2c", + "git_blob": "243bebd21e0ca94bf34ad6cd1ff3fd8cd27645cf" + }, + { + "file": "vendor/pr531/inputs/data-base/work/complex-nine-native/DATA-PHASES.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/inputs/data-base/work/complex-nine-native/DATA-PHASES.json", + "sha256": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "git_blob": "d9a4f84211182ca200c081ea061d724c8a2cfb70" + }, + { + "file": "vendor/pr531/inputs/data-base/work/pr361/code/engines/base_two_moment.py", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/inputs/data-base/work/pr361/code/engines/base_two_moment.py", + "sha256": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "git_blob": "14a90fa0e788217856f070382c9e61bd7c603c61" + }, + { + "file": "vendor/pr531/inputs/data-base/work/pr361/code/engines/moment.py", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/inputs/data-base/work/pr361/code/engines/moment.py", + "sha256": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "git_blob": "7d697cb45203fe72d97037403d6da41f71f3b7fd" + }, + { + "file": "vendor/pr531/inputs/data-base/work/pr361/code/engines/outer.py", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/inputs/data-base/work/pr361/code/engines/outer.py", + "sha256": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "git_blob": "43007488ad2c43187c77cc6798beff8b1cd76ad2" + }, + { + "file": "vendor/pr531/inputs/hamming/PACKET-PROGRAMS.json.gz", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/inputs/hamming/PACKET-PROGRAMS.json.gz", + "sha256": "d833ae0390d165d7da0c639a3c7aeb77156c2ddb52447087cb49b9d03b19e9b9", + "git_blob": "e98ce5d879e99427347acd725efc3b0c96fe5c13" + }, + { + "file": "vendor/pr531/inputs/hamming/PROTOTYPE.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/inputs/hamming/PROTOTYPE.json", + "sha256": "327d2a868043e846381aa58a33053c24425e8cad522ff401b10ec8af1d649a3f", + "git_blob": "9efe30ee107b9c67f15f1c726e1a1cb5cef03929" + }, + { + "file": "vendor/pr531/inputs/phase-baseline/CANONICAL-WORD.json.gz", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/inputs/phase-baseline/CANONICAL-WORD.json.gz", + "sha256": "addf598581d2a20e13d0c18110607515ad90b06125616a2349e53a47bb5b6c80", + "git_blob": "7f98e8dafa05ad789ee056eed9f4d6a453105ae4" + }, + { + "file": "vendor/pr531/inputs/phase-baseline/CLIFFORD-RECIPES.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/inputs/phase-baseline/CLIFFORD-RECIPES.json", + "sha256": "1f37afd5a9e14b113ba56e0ac8a5200a6b41c695d2cd308dc0fd6ec46a4c73d2", + "git_blob": "0422ae288a387d8fd269d2e3dee894dbe65b646a" + }, + { + "file": "vendor/pr531/inputs/phase-baseline/CLIFFORD-REVIEW.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/inputs/phase-baseline/CLIFFORD-REVIEW.json", + "sha256": "468a5df1937e82a0b8e8c1c2540e18480f354154325353c5596c68e7435c89c2", + "git_blob": "ad33b2911cd072bab98d47990e4d8bafb4fe3488" + }, + { + "file": "vendor/pr531/inputs/phase-baseline/LOCAL-CHECKS.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/inputs/phase-baseline/LOCAL-CHECKS.json", + "sha256": "ead7163869ecb9fc276f477c0ec0ed85dc74d7901ce04f91213bcf7ee1f20382", + "git_blob": "61b7804deb46b1f2ef981e785ee8f19590cd5583" + }, + { + "file": "vendor/pr531/proof/DELIVERY-AND-COALESCING.md", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/proof/DELIVERY-AND-COALESCING.md", + "sha256": "7e719f01416cf312272dfabca8b355d327128859c01d686056e0833e83870bc7", + "git_blob": "5b0751acabe87f76d83a6a650016265f0c6ed8d4" + }, + { + "file": "vendor/pr531/proof/GLOBAL-HOSTING.md", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/proof/GLOBAL-HOSTING.md", + "sha256": "c47b61bf2e998583e4626eec068439600f3464aab2ddbdb0ac044b0136d7b502", + "git_blob": "dff4cda44b5a88d0fc95458cd1a73e64af67f023" + }, + { + "file": "vendor/pr531/proof/LOCAL-CONSTRUCTION.md", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/proof/LOCAL-CONSTRUCTION.md", + "sha256": "3b1fc44f6f8290361cb24526cf91c3174c734f5da3cc9fb94559a96168d39e70", + "git_blob": "f454fa626751a5062117e29356578fe9bef58e9e" + }, + { + "file": "vendor/pr531/vendor/clifford/clifford_exact.py", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/vendor/clifford/clifford_exact.py", + "sha256": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962", + "git_blob": "166841a037f069249f6f7f6dedb89248812f59e2" + }, + { + "file": "vendor/pr531/vendor/gk/gk_common.py", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/vendor/gk/gk_common.py", + "sha256": "e68d190fd436b2f3955decb590adb53344d5d4ea0a19d62d86df1e4b55ecd198", + "git_blob": "0e5fde920d29106232776eb56347297c0d40fa72" + }, + { + "file": "vendor/pr531/vendor/gk/gk_word.py", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/vendor/gk/gk_word.py", + "sha256": "f027a9273bcf4e0971258c160b7d3b3c196366b32a529cff6e6a0e666b03826b", + "git_blob": "15782ba625e438a3c707718fa51796ec1937018f" + }, + { + "file": "vendor/pr531/verify_fast.py", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/pr531/verify_fast.py", + "sha256": "ea4e33a17419009f0872fac42f7ae5a2f2090c4487cc9815721d907d1e9b1cae", + "git_blob": "245b61bbe55fbb6fa40ea3ef89a02c43ca3c51bf" + }, + { + "file": "vendor/static44/LICENSE", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/static44/LICENSE", + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "git_blob": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64" + }, + { + "file": "vendor/static44/META-SOURCES.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/static44/META-SOURCES.json", + "sha256": "c8aeb9313f2c671a9a8766c249ceb6cffa106dfdab3ab761da8e8c534b115090", + "git_blob": "8cbd32f8bd6437c1e2f08ac9e49395708a0c78fd" + }, + { + "file": "vendor/static44/NOTICE-upstream.md", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/static44/NOTICE-upstream.md", + "sha256": "1547136e6d269fdcef2b68c10a97a786a79a4732a12738363f679bfb282430cd", + "git_blob": "f42e0eed8584ad7d472c458aa875c29d1cd5ed86" + }, + { + "file": "vendor/static44/PROOF.md", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/static44/PROOF.md", + "sha256": "abfa6548b223893866094631aed61174575dc1b17bdd60627b2c55e6b9477e4f", + "git_blob": "1d43cf78f4a7a394710db7c367a857f317171617" + }, + { + "file": "vendor/static44/README.md", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/static44/README.md", + "sha256": "51d6ef7ad3e12e72daf29e0260a11cd985a0148fe1efa0574a533dae726c553c", + "git_blob": "6aed83ec92333c21d79e96c2cc4da1cb9ecd409a" + }, + { + "file": "vendor/static44/RECIPE.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/static44/RECIPE.json", + "sha256": "8735ac9beadff3edcb4a4df8dae174415e0f83d9b4df8556c33ba7fd777505fa", + "git_blob": "68c751bb56f3f1c7121ba5f269357e78668d7ea6" + }, + { + "file": "vendor/static44/SOURCE-MANIFEST.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/static44/SOURCE-MANIFEST.json", + "sha256": "4f5d92b4cd76eff0845a9f14d33131441535a232b5c91f00535aa076d44c45a8", + "git_blob": "468918ea5832305d225c51457dc73088496328b9" + }, + { + "file": "vendor/static44/audit_scalar.py", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/static44/audit_scalar.py", + "sha256": "a1cd720d281c7a9db7f17919c637cdcb8558e9f3c96e929706f0c21f317a7943", + "git_blob": "834e8b510388e6b79cbbede33abcd38ac5203e59" + }, + { + "file": "vendor/static44/build.py", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/static44/build.py", + "sha256": "b15192ff50fd99f5ca3cb5857b5e129c98a212de60ae76aafb1614139743c35a", + "git_blob": "de6484973953d9e5dc8109a3492fa8cb69db4529" + }, + { + "file": "vendor/static44/gk/gk_common.py", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/static44/gk/gk_common.py", + "sha256": "e68d190fd436b2f3955decb590adb53344d5d4ea0a19d62d86df1e4b55ecd198", + "git_blob": "0e5fde920d29106232776eb56347297c0d40fa72" + }, + { + "file": "vendor/static44/gk/gk_word.py", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/static44/gk/gk_word.py", + "sha256": "f027a9273bcf4e0971258c160b7d3b3c196366b32a529cff6e6a0e666b03826b", + "git_blob": "15782ba625e438a3c707718fa51796ec1937018f" + }, + { + "file": "vendor/static44/inputs/BASE535.json.gz", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/static44/inputs/BASE535.json.gz", + "sha256": "edfffb8e8735e0d1f07c81d818022b705ef0889c2bccc193a2f7a661b9f7d390", + "git_blob": "bcc1647b7d4ad8ae3ae2acbb31d3591c0d49467f" + }, + { + "file": "vendor/static44/inputs/OLD-RECIPE.json", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/static44/inputs/OLD-RECIPE.json", + "sha256": "7e5c179246261edd9e1019e81e6e979537f02559da773b993a318f771cb7d763", + "git_blob": "52d4b5f3827b456b1c0eb457462bc3ab7045c509" + }, + { + "file": "vendor/static44/inputs/RAW504.json.gz", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/static44/inputs/RAW504.json.gz", + "sha256": "1c6144791dbedf6427e3ee7b4c24fb05b5bf407f6346592f50f8dd8d9638108d", + "git_blob": "903eeb216176a7c5fd6d26f875a63e89a79b37bb" + }, + { + "file": "vendor/static44/replay.py", + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "path": "research/static44-selective/vendor/static44/replay.py", + "sha256": "fd1ce7d1f8974b473aef8c6cec1e0c590e01d0d215b073e5573a771ce42fc74d", + "git_blob": "ef5642ccfda5c30d869a3bc7e2aa30ae023e20b1" + }, + { + "file": "vendor/e8-bit-r420/DEPENDS.json", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/DEPENDS.json", + "sha256": "fa9253078c444b8f4a57e849048f727c3c8233c3dc3c7f651bef2cf7bb0178c5", + "git_blob": "25cb6abcf9ce8d48191f3fdfae44be136537796c" + }, + { + "file": "vendor/e8-bit-r420/EXPECTED.json", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/EXPECTED.json", + "sha256": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "git_blob": "b61d859826246e0c3dabbe096e57ad7015eadfd5" + }, + { + "file": "vendor/e8-bit-r420/LICENSE", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/LICENSE", + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "git_blob": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64" + }, + { + "file": "vendor/e8-bit-r420/MANIFEST.sha256", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/MANIFEST.sha256", + "sha256": "e76447d8b457d3701c97f7f972b24779910cb6517af27f8b5e37d026de28c81f", + "git_blob": "8117af93d3b0b207374a102cdc78e38e820a1d3a" + }, + { + "file": "vendor/e8-bit-r420/NOTICE.md", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/NOTICE.md", + "sha256": "12ba6e0845f222e9940b00f6c60d261db104246a8d3143da267682973479f811", + "git_blob": "cb68783d7d76c3fc13faa571429e9b067a0db3f7" + }, + { + "file": "vendor/e8-bit-r420/README.md", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/README.md", + "sha256": "9807be57c6adf26b30e4f54e2f8160075bbc05091f1a6d157e43d2a4620c1c9f", + "git_blob": "6751eba6f617292fc919e58d5a9f9f06ab037391" + }, + { + "file": "vendor/e8-bit-r420/SOURCE-pr510.json", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/SOURCE-pr510.json", + "sha256": "5e84c26ba837ce029acd1b5089e5533d2ebde793deede84215322112e95e06f8", + "git_blob": "f44af5ca75faa5871c020fa3154abbb1c2b4b3d4" + }, + { + "file": "vendor/e8-bit-r420/SOURCE-pr535.json", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/SOURCE-pr535.json", + "sha256": "74254fde5cff5580d5c199b139ff3ce31a3defded3f653a3ba83cf0c9204ddc4", + "git_blob": "9002227599dbcac6dd0cbc854925ad1f90238905" + }, + { + "file": "vendor/e8-bit-r420/code/adapt11.py", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/code/adapt11.py", + "sha256": "46c205f6036bb8635a34ab6ef2c54a9e446bec1435fcc14ab55949a5dbee8aa4", + "git_blob": "f62da10e7cb51ffdf0b0e7bbcb293b9f04bc9858" + }, + { + "file": "vendor/e8-bit-r420/code/cited.py", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/code/cited.py", + "sha256": "1770f4eb61e130e3cc6e23f67507d8bb7587baaf8391d749c2e7fe5c66089044", + "git_blob": "c4ee5a5258b89232903ac78987dc7a529b3e0591" + }, + { + "file": "vendor/e8-bit-r420/code/gen_l3.py", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/code/gen_l3.py", + "sha256": "d5c802447c99255db1bdfcae62b2116bfc9612c9dc9000d41aa4f5f2fec9f2f2", + "git_blob": "6bbd36540c5527950a547b0e80d3aacdc653d497" + }, + { + "file": "vendor/e8-bit-r420/code/mutants.py", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/code/mutants.py", + "sha256": "e2fd3429e2db4389ae8a5ab47dda89f551b0d0952c42fad5ac8d38a85d670594", + "git_blob": "5b0fa1922076d2e91367b58483c96b33b7b08661" + }, + { + "file": "vendor/e8-bit-r420/code/mutrec_b.py", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/code/mutrec_b.py", + "sha256": "231cbf26bfe5e6824347e4556959941d8b4dea1efa06d7f88d7a73cca8b03158", + "git_blob": "7b644a4a03423404348633680a6c503d3a2c7060" + }, + { + "file": "vendor/e8-bit-r420/code/nodeopt.py", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/code/nodeopt.py", + "sha256": "6a5896f60b1fe05c41ab28ce822dff782c635e12d0c74fad20b5ce2a4010fa3f", + "git_blob": "dd30a2e4e6e33ba60669d7b421229a2f6e53d6ad" + }, + { + "file": "vendor/e8-bit-r420/code/planio.py", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/code/planio.py", + "sha256": "c0a687f61aed29455cea953d8a3e49a32136edb3cd4213c46880c146a6ca7fa3", + "git_blob": "0d5874976a18cc7db7e58fdc177568d538a59c01" + }, + { + "file": "vendor/e8-bit-r420/code/provenance.py", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/code/provenance.py", + "sha256": "aade757c1e4e2714207cbc80a9a60793d84b5f009de2cac79ee8d3239986fd2a", + "git_blob": "da0f0a91e5487b47b020b73680cf541fa085b12e" + }, + { + "file": "vendor/e8-bit-r420/code/summary.py", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/code/summary.py", + "sha256": "afdf2e53648b417fcc49cd05e9a18ee9fff9ae41e791a6ffa333130e30f35feb", + "git_blob": "772b2e68f8254b1a378156f4b169f7c7adf89189" + }, + { + "file": "vendor/e8-bit-r420/code/xcheck.py", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/code/xcheck.py", + "sha256": "5737d18a7826fd51e131035f2d7bebba2e2868af91dd7672a5f11208b036d424", + "git_blob": "fbff8607e4c61e18481f696b99dd38a32444e90d" + }, + { + "file": "vendor/e8-bit-r420/data/bitE8mut-r420.json.gz", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/data/bitE8mut-r420.json.gz", + "sha256": "9721a3819efd68307f66f00d84a952eb28eb7c3ad2ce79653ce295c98a764784", + "git_blob": "0c63ca62759dc63d302be6552aeeee1ede70350f" + }, + { + "file": "vendor/e8-bit-r420/data/complex/pr535/EXACT-ASSEMBLY-PR493.json", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/data/complex/pr535/EXACT-ASSEMBLY-PR493.json", + "sha256": "3f4be566309841e00e842d5686f7937a355ae1a6a2eaa3ccb07bdf8a9ca604fb", + "git_blob": "91873f25e16f5184f4baaaa900622fe62aeb3760" + }, + { + "file": "vendor/e8-bit-r420/data/complex/pr535/EXPECTED.json", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/data/complex/pr535/EXPECTED.json", + "sha256": "cb734055c36681d38cf431a6926b7713351a94073cfba37d70a5384a9ef0d178", + "git_blob": "2c5a1a32628e2e93b29a54ecfb9ccfa5d84b9b17" + }, + { + "file": "vendor/e8-bit-r420/data/complex-b.json", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/data/complex-b.json", + "sha256": "ec81d67d8a82d41859ee33a4e387679b71e5ced15de074a71195d08969dd308a", + "git_blob": "4f6954384ec790501418291d16bfccc0c28c80a1" + }, + { + "file": "vendor/e8-bit-r420/data/hosting11-r420.json", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/data/hosting11-r420.json", + "sha256": "d7964e04604f804b2b334a989087a5e855243160f4d40cf9336d9b25995ac5d8", + "git_blob": "e850b2488914843c69246bd496d687e549738053" + }, + { + "file": "vendor/e8-bit-r420/data/plan-l3.json", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/data/plan-l3.json", + "sha256": "d5c2494b4baae801143049e172db303b3c8e25a002e9d9715a1d79dcb2d74c58", + "git_blob": "0d6e198897bd2090b96dee443543f00b6a54e065" + }, + { + "file": "vendor/e8-bit-r420/data/selection9-r420.json", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/data/selection9-r420.json", + "sha256": "9737b5f39367ee5a8affa52e5fbb92d1408f0f9e9f14ed64d6f00ea9428b291c", + "git_blob": "ea2a3ad0d5bcda741f32a2acfbd8e091cd5a05e4" + }, + { + "file": "vendor/e8-bit-r420/discovery/README.md", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/discovery/README.md", + "sha256": "9970e45fd1d5b34a2a384dee0e2768b6f17f85d26751860cd649d12144604e3c", + "git_blob": "e85d1b2a51b35354dadf70f4f77419c84ed399e8" + }, + { + "file": "vendor/e8-bit-r420/discovery/planL3.py", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/discovery/planL3.py", + "sha256": "dd65e617aa786754520ca839988a6f0a87af53ca108e2bd722bfd69ee2c71508", + "git_blob": "153df80368df6ff710761de608ad0434d73743cb" + }, + { + "file": "vendor/e8-bit-r420/discovery/planL3b.py", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/discovery/planL3b.py", + "sha256": "7179039fddf3ea12c9cb1d61fad6668f3282b50afdc43c7948d0bfc3a2b35c77", + "git_blob": "c70c8e5f4039b2e15985a11a1f004f0a19b9e5fc" + }, + { + "file": "vendor/e8-bit-r420/requirements.txt", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/requirements.txt", + "sha256": "e11a6f5c2a40b77fbf54a31a4c45bac575e9d2f765d35b657406d5f088fd0664", + "git_blob": "4f2c3cd39e58ddb520c8073c45c42e4b0c49b2a5" + }, + { + "file": "vendor/e8-bit-r420/vendor/pr510/e8-r480-dead-totals/data/bitE8mut-r480.json.gz", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/vendor/pr510/e8-r480-dead-totals/data/bitE8mut-r480.json.gz", + "sha256": "92e399e9a486b55229b5624632ac54f800dd9e022f2aee97f1e5f264bbc0ef5c", + "git_blob": "8e59c4b5380d522b1c1cb930029a71556b2fa65f" + }, + { + "file": "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/EXPECTED.json", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/EXPECTED.json", + "sha256": "883f7a1a84f31d9e4430e348bc8d9c1ec10210b206ff602dbe126349056af13d", + "git_blob": "c89fe719e81ae3a4d920bf50f87b7100bbf335ae" + }, + { + "file": "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/code/adapt.py", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/code/adapt.py", + "sha256": "27b6b77cc4ebf439f9019e63a22dedc1ef72ee65fe120aad3d17316b1df06d7b", + "git_blob": "7c595c50bc3910577f8587ca94ce8b9c0e6f55b0" + }, + { + "file": "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/code/assemble9.py", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/code/assemble9.py", + "sha256": "4bf6768224a3fac81ccda26df24f3763f9a4fbc35ad62bef2888595cdae519fe", + "git_blob": "238226c568742dd5723b03eabae564a2eaa2bda9" + }, + { + "file": "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/data/selection9-r480.json", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/data/selection9-r480.json", + "sha256": "8176db518bed23ea8121543bfb18085ec6633064142ba40ac5db00f63b06553d", + "git_blob": "786ba4d5bedef5888ce02629d6caf9aebb290b73" + }, + { + "file": "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/audit_hosted_k.py", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/audit_hosted_k.py", + "sha256": "57e558c80a2fea6e291587b04afd76dfaee3550729997798b61f33daf90b8ec9", + "git_blob": "8864ca9b942a3507171edca0cf6cbaaf10fcf434" + }, + { + "file": "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/audit_parent_k.py", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/audit_parent_k.py", + "sha256": "374e1d983589463bbfa06b6e9f2ffafb9d2c14acf97b1f858593a3cef90e93d2", + "git_blob": "ee54ca566ff9d8553f845144dd4570fa1fe21495" + }, + { + "file": "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/bank_routes_k.py", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/bank_routes_k.py", + "sha256": "ea678a7befda10c6f1b9dd38a36fe1437c6468472bd649f60b9f01522047e0bf", + "git_blob": "aaab9d5ae3f280dcb82775337d88dc244984e225" + }, + { + "file": "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/emit_k.py", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/emit_k.py", + "sha256": "298b16c3d4f58a468ad1a64564c8500cb281414a3f3c0428fd467908eeb4a4b4", + "git_blob": "b84c795a045143639efe6aefb0562b3c20a2c9d7" + }, + { + "file": "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/global_k.py", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/global_k.py", + "sha256": "6368196a393ac25bb2918880e4c4bd31ed733b762c27b6873ab391cbc0c5c3c8", + "git_blob": "3df12bd632f1fdba825ced57110a1fee82eb2857" + }, + { + "file": "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/hosting_k.py", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/hosting_k.py", + "sha256": "081c3b95b18d900d97ce82af64fb428f085b6adc6d8ca93ea920797dad7eb81e", + "git_blob": "02fea8320b676e14f8ffa242c3ddfa85fa829e31" + }, + { + "file": "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/bank_routes.py", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/bank_routes.py", + "sha256": "7c6997c455bd55acca3a1603797c34e7733d557c27a7694a1429ff15773a505d", + "git_blob": "9e43a876664a26899762f3b8e9a582e684a3650a" + }, + { + "file": "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/config.py", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/config.py", + "sha256": "283d7fad45155ee91e704d63ec947cf4a60aeff5cc43510bc0e835f7da7d8767", + "git_blob": "c6824d9c4ea37d58c0d24cb7a3021c4dfcc6f3bb" + }, + { + "file": "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/e8core.py", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/e8core.py", + "sha256": "1cb286196c1530d06f50f0997febc5993b388f33464e295611b920ba30a24eeb", + "git_blob": "78983b368715e89fe8524a6dd2c13585d2b5394e" + }, + { + "file": "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/engines/base_two_moment.py", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/engines/base_two_moment.py", + "sha256": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "git_blob": "14a90fa0e788217856f070382c9e61bd7c603c61" + }, + { + "file": "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/engines/moment.py", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/engines/moment.py", + "sha256": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "git_blob": "7d697cb45203fe72d97037403d6da41f71f3b7fd" + }, + { + "file": "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/engines/outer.py", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/engines/outer.py", + "sha256": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "git_blob": "43007488ad2c43187c77cc6798beff8b1cd76ad2" + }, + { + "file": "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/tile_m.py", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/tile_m.py", + "sha256": "d6ae4a556472d403773cd2117c992bfc10e1187112da1b3893f3fae628a131dd", + "git_blob": "cd5fd9b5399f5e7afe5d2a95bd3504bd543c0d60" + }, + { + "file": "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/idle-axis-hosting/hosting_core.py", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/idle-axis-hosting/hosting_core.py", + "sha256": "d8b90cd5d152df3c7c351230863d9e61816ad5e1f21d69bea1a86a5daad559a3", + "git_blob": "68b536daa9e6546c0aa046934bf840aaa3c3fde3" + }, + { + "file": "vendor/e8-bit-r420/verify.sh", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/verify.sh", + "sha256": "3192dea51acd17addb2750834a9dc3fb5b991e8dc5970ba9d2ac54608d79cafa", + "git_blob": "fbad38c694a0ce4fcbf39110dc403c75017ece07" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/EXPECTED.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/EXPECTED.json", + "sha256": "3494ba83280cc86548fe0cc6695c50d23e6b6ffca85aeb1a33337c1196e280cb", + "git_blob": "973aaf30f1ec6a4d58038acabb9361ee1f44787a" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/LICENSE", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/LICENSE", + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "git_blob": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/MANIFEST.sha256", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/MANIFEST.sha256", + "sha256": "7f25c41d0400ef5adf763eae6e166003a9b59e5a655b860c04b052f6731c7297", + "git_blob": "1213654fbd423d66e785bf582ba8ee76a41cdd36" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/NOTICE.md", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/NOTICE.md", + "sha256": "5f4b7fcbf99f572be28b6da612ce775363908cdfc7810f7aca167be01c86e49a", + "git_blob": "5a0ecdcd2c7fad0488740a1da0f633b73b56a809" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/README.md", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/README.md", + "sha256": "e5212e8058c92a2b02cc12b4e174a65ce1cef7b4d7977ae770e64f5ff91b7204", + "git_blob": "dd0d7c43611d6c527a17287bc550e763edca0294" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/SOURCE-pr370.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/SOURCE-pr370.json", + "sha256": "03de1d341196cfa8cf1d39f3cc8648b25bb5f39c3c602a728cfbd089e8253ac0", + "git_blob": "1b30f277afa20cb9db1e4495d655a32d64552317" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/SOURCE-pr381.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/SOURCE-pr381.json", + "sha256": "16b1977240ca9acb58fa64572fb4231a423bc10bbf3e7bb30f1c8201fe369ba5", + "git_blob": "fb0b0edd1375ffcbe9b2c9065bcca236a974660f" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/SOURCE-pr386.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/SOURCE-pr386.json", + "sha256": "87c659ba932525631a40be14dca28a6a2efade8641f23bb08d6e1567fc991131", + "git_blob": "3744861904f61f29b00e2dec9cb98639a0fb7dfe" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/SOURCE-pr436.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/SOURCE-pr436.json", + "sha256": "4a4f99f5bdb7530a0dcf9433f7f02afbf2abf908e718f7c63ffa5503d4f49693", + "git_blob": "f190527ae1c97a51fa9030518b59affeb0befcd3" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/SOURCE-pr445.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/SOURCE-pr445.json", + "sha256": "e6f4a272442bb71ef68aaa3545b271236f9c99297e444fa01c62b0b5fb6a170f", + "git_blob": "ae29de391a7aa893bec6ab8c2b6e89688191b088" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/SOURCE-pr448.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/SOURCE-pr448.json", + "sha256": "c771fa9be492408a78d6d970c839e68c4dfd1b66f4f4a4748e3d12726a43cf27", + "git_blob": "3648ab36928a28564ce89d224cfb3f16c891ecf1" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/SOURCE-pr451.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/SOURCE-pr451.json", + "sha256": "a639956eec858341987a815b7464ef472505300db754b5f9ac012dd01d18c8df", + "git_blob": "fbd9881e09d7219f264eb1ee67c40c2e43d0832e" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/SOURCE-pr458.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/SOURCE-pr458.json", + "sha256": "cbdea984a46ab5de354b95e73fd76c1918fdc6676c658398a552772c4dc3dcaf", + "git_blob": "c36c74cbeacf690473803b59a8d25008ec5a7710" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/SOURCE-pr471.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/SOURCE-pr471.json", + "sha256": "499d861e090c9e646d978dd67890a8e58a9ff6bf08512684e66605179132076b", + "git_blob": "0dc019cfb1933e55d063fbd9e45bb316e4045857" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/SOURCE-pr472.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/SOURCE-pr472.json", + "sha256": "6753bcf50c91806b75dd4dbe3963a79699a614d0dab8ce32b261cc3e76b288b1", + "git_blob": "31acb027ecd0808f18e6f59c59662f6f94f5b9ac" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/SOURCE-pr473.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/SOURCE-pr473.json", + "sha256": "2515c4f23dfa22a21913d92597669770f7f44c2a5b3ef069ef68a0c89779a656", + "git_blob": "821caf8f073c615680ba5610e268eee2d23d2d03" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/SOURCE-pr478.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/SOURCE-pr478.json", + "sha256": "9c7c4ea678865a955b0c89f0952927159976fdf55cadc6a488dec5757f03fe7d", + "git_blob": "608323ccbe4150d5a6522ddb3b18aa9cb5dff4fa" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/SOURCE-pr483.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/SOURCE-pr483.json", + "sha256": "24e3eab4a985e115adb7f8665a401423e9636e9f16cc4373ec68cc86950445a8", + "git_blob": "817396d9c89965a32979b943e638163d8261a205" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/SOURCE-pr484.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/SOURCE-pr484.json", + "sha256": "b92f43fbcba3921a1aa37bcb9f05cf5fa612ff708785e05512438a6317bf0867", + "git_blob": "76292df8518ac72acb3754a7b4fb23c368725b13" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/bit/checkers/columns_h.cpp", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/bit/checkers/columns_h.cpp", + "sha256": "d1297f9052be4f2496e1ff2a77e4db2c0cdbd7d460d489b4c03e50bf317238ce", + "git_blob": "00c5a3a5d81d083582f60f33dd2e7bea5049c37f" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/bit/checkers/columns_k.cpp", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/bit/checkers/columns_k.cpp", + "sha256": "1c344d18fcd494eeca93e259f10cafae7705780e6592f6dcb35b34752dab9bc2", + "git_blob": "42bb232fbec4de703e70cc13dc2f39a3b43a3a01" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/bit/checkers/gram_frames.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/bit/checkers/gram_frames.py", + "sha256": "223a5a07731fc315a90a3e48177796babc155c1d9985c7ae5017eff6af2a0608", + "git_blob": "b740d47295c02692260d7cc01874a49fe48f78ab" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/bit/checkers/json.hpp", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/bit/checkers/json.hpp", + "sha256": "aaf127c04cb31c406e5b04a63f1ae89369fccde6d8fa7cdda1ed4f32dfc5de63", + "git_blob": "82d69f7c5d044c9887c96b90c97f5639083ecd14" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/bit/checkers/legality_h.cpp", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/bit/checkers/legality_h.cpp", + "sha256": "6c1ef2b24e57781d6951c172a1024fc4300e6fd392c9d6672079a7806ab663b3", + "git_blob": "cb1233c7e96b1aa8bbf4d2e4165d75ab0dca64b9" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/bit/export_records.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/bit/export_records.py", + "sha256": "8a5999601f917dbb492bb9ae9a344611f18cc7cedc53dc3c76496a369e530eb3", + "git_blob": "3632d370486a02f5456f7643ced03f8c925b2350" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/bit/independent/checkword.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/bit/independent/checkword.py", + "sha256": "11bf9620ca9db16d52d9fe806b814fc9ec9a89c4d7645354d1861d96f6e805ad", + "git_blob": "da4e0fe05067184d4dab1e130ae1384c1fa983f5" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/bit/independent/interface.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/bit/independent/interface.py", + "sha256": "2c63a039f97e3a11ce5a6b83302d4f5beda160c1db14164a5a9b0855aeb19d3c", + "git_blob": "8beb87c39a07e389c8f83f32ab9d17f8097ed9b1" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/bit/independent/mutate.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/bit/independent/mutate.py", + "sha256": "0ff65aace5da4b57d96235bf830f8f11969322e75134d498aeb70e9753ec6b0d", + "git_blob": "eba592fd468e0d7e7e5100fe99da6eb548c5906b" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/bit/independent/mutate_mut.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/bit/independent/mutate_mut.py", + "sha256": "3b002c19a5dcca76a5594f2a30fac7c01d2b45fc96b3e7cfbfd8b720f5ffb4e8", + "git_blob": "f4c6191b783094c4d241f179446085331feb052b" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/bit/independent/relax.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/bit/independent/relax.py", + "sha256": "d6e9f58de3fa41f538516b6227c249d61fb30f0f6843027cc8a07a1a372fa6b6", + "git_blob": "a37e8b8176080d4a977bb48bd25f92f4a62b156b" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/bit/mutate_records.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/bit/mutate_records.py", + "sha256": "b0e75d6550412a7be4017695e6b237392b611bb852ad8ff309d6682c9f166a4e", + "git_blob": "6794516f665d36eac189894e350a5ad01113cb4c" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/bit/mutate_records_mut.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/bit/mutate_records_mut.py", + "sha256": "a9e085ec60d5657cd5d77832e3d95004e81b9f4f249d9e0fc95e345366cb2d2e", + "git_blob": "ea26fcebf99312eb5d4f5440862959fa6a74ec52" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/bit/regression/stage_cohort.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/bit/regression/stage_cohort.py", + "sha256": "6c288f6f234b528c1a7c0a4adfb724e91e0fe6b18c8dffad96af3f973de1829a", + "git_blob": "f6d7afe3e623208c4207b6a683a1e3e49249e31c" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/cited.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/cited.py", + "sha256": "a4c2dd4755f2a45ceda327b36d9ee400c2804893000626ca8ff3f6ee296fd842", + "git_blob": "e543cf2c9b2b1d43693bed6efbdba607ad9ac277" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/eleven/adapt.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/eleven/adapt.py", + "sha256": "d8a8c13b484d985f0133a5d06de4a78b8477314f922b9f693ba73640b7184d6b", + "git_blob": "c13c91c245146670d4b454ff07b835f480171fc1" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/eleven/assemble.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/eleven/assemble.py", + "sha256": "c47889a606701ae592374dd82a13cee8c5a4e8449b7facfdad2d90563a30a18c", + "git_blob": "87cc45bc831fa7003906e8b026ac1480a69da1de" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/eleven/audit.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/eleven/audit.py", + "sha256": "5ad832830c19ec6c904d1b64480f6b1e71c5673fdd38d487d17e179b1d197c09", + "git_blob": "10e47d32e3b4769ae5ce5bad9f76a7b3e5d797fc" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/eleven/emit.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/eleven/emit.py", + "sha256": "b0b25955875625ed63f82690f83aef976e3e9a978ae6620b23a23fc1207acd46", + "git_blob": "640cdb4d1220950e198f2fd9994d76d69ecbf764" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/eleven/local_audit.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/eleven/local_audit.py", + "sha256": "95275473d7f9811011bda760dd0f04de5169c2a6922456dc9a5725a5d671f941", + "git_blob": "2233c5f35f2fcb58809f7a1d8f91e9b36ad74080" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/code/assemble.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/code/assemble.py", + "sha256": "abb60c35e448e0f94073f38a0352d11249aaf7bb8dbd7352414ae60a1d2b79c3", + "git_blob": "cd60b4bcfae515fccd7f21fd1ff5a7114a132eb9" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/code/audit.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/code/audit.py", + "sha256": "d28062127a9b0d3866a3b79aad98a307233b20ebdb94cfb9f197d726b82ffea5", + "git_blob": "155b61f2944116423a5be6ae666276e1c1827fe5" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/code/emit.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/code/emit.py", + "sha256": "98d77cefbc3a76f9f10bd7df3a2590ab88b411f6afe77b5f8d73f1602eb2bef3", + "git_blob": "df74ad698a98419e828b37d4dfd7c036fc49a890" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/code/local_audit.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/code/local_audit.py", + "sha256": "23eda3fe3d774e7f2dbf4dbdd4ff90d69ae7d1762ff95c8629cdc7667aa3fe71", + "git_blob": "931f884920125b334412f70cf30d9517b084dc7a" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/data/hosting.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/data/hosting.json", + "sha256": "765382d4fefd594e94c8c5826ec6300422ce9f79c816d7f7323ef85e99320f28", + "git_blob": "381fb06ccbe055f4fbdc7544dcf8c0bae8f96701" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/data/residual-isometries.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/data/residual-isometries.json", + "sha256": "750221cc66badd0ed0a74e7aad2d59f91f89c107370af21c6d929fbdd4a08a9f", + "git_blob": "5864e4d680035401d53d32adab0369046d80b171" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/data/word.json.gz", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/data/word.json.gz", + "sha256": "b2af02f593cd161bea64e6cd793508386914136be519f80726c071697379d5a9", + "git_blob": "f7d55b8bd45d385011ced25e632a3d922bb77bba" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/bank_routes.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/bank_routes.py", + "sha256": "7c6997c455bd55acca3a1603797c34e7733d557c27a7694a1429ff15773a505d", + "git_blob": "9e43a876664a26899762f3b8e9a582e684a3650a" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/e8core.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/e8core.py", + "sha256": "1cb286196c1530d06f50f0997febc5993b388f33464e295611b920ba30a24eeb", + "git_blob": "78983b368715e89fe8524a6dd2c13585d2b5394e" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/engines/base_two_moment.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/engines/base_two_moment.py", + "sha256": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "git_blob": "14a90fa0e788217856f070382c9e61bd7c603c61" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/engines/moment.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/engines/moment.py", + "sha256": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "git_blob": "7d697cb45203fe72d97037403d6da41f71f3b7fd" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/engines/outer.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/engines/outer.py", + "sha256": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "git_blob": "43007488ad2c43187c77cc6798beff8b1cd76ad2" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/tile_m.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/tile_m.py", + "sha256": "d6ae4a556472d403773cd2117c992bfc10e1187112da1b3893f3fae628a131dd", + "git_blob": "cd5fd9b5399f5e7afe5d2a95bd3504bd543c0d60" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/data/residual-isometries.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/data/residual-isometries.json", + "sha256": "e12ed7ddd13cee101ba74a083b54665fd64d0b122b0bad5b83d817dcc8bae9d8", + "git_blob": "9b8b35cb1528a978e209e1098864cae48c57fd93" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/data/word.json.gz", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/data/word.json.gz", + "sha256": "d8d6d3d3f336720302bc40b3c1504fe3c3583a7a8d707bb9bd7b21f85e5e69c6", + "git_blob": "85390b07e4747feddbf2e16f94b5e0a8a308c191" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/hub/idle-axis-hosting/hosting_core.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/hub/idle-axis-hosting/hosting_core.py", + "sha256": "d8b90cd5d152df3c7c351230863d9e61816ad5e1f21d69bea1a86a5daad559a3", + "git_blob": "68b536daa9e6546c0aa046934bf840aaa3c3fde3" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-eleven/code/emit.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/hub/r740-hosted-eleven/code/emit.py", + "sha256": "ac63ee481f3d75cb9f0658faaa2412db81d55bc44d9f1ff1c0329ce1e75aa0d4", + "git_blob": "5ff0de0d6f088ac95e25a2a7aed8653e8cd0333e" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-eleven/code/geometry.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/hub/r740-hosted-eleven/code/geometry.py", + "sha256": "9554182d67e434ea84b4430f909a2c400abc755d8487b51454a8e6968e62859d", + "git_blob": "b4ad5074014dc00a01143910eb1cd27fafe0e15c" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-eleven/code/row_bound.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/hub/r740-hosted-eleven/code/row_bound.py", + "sha256": "de4a9b9cd797e1a05da56f62cfe725c8728cea3a4aa031b7d1b0a68f869760d6", + "git_blob": "11d3c0d48e4ea5a02ac3b6689f3c7d36f2972eb8" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-eleven/data/selection.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/hub/r740-hosted-eleven/data/selection.json", + "sha256": "52dbbb68e8c147690d15eaa1d952df05d074b0c121885a4159d9f6732f391872", + "git_blob": "8e548e5a9204a909d539ba36b866804b256d4c2b" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-rank149/code/emit.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/hub/r740-hosted-rank149/code/emit.py", + "sha256": "ac63ee481f3d75cb9f0658faaa2412db81d55bc44d9f1ff1c0329ce1e75aa0d4", + "git_blob": "5ff0de0d6f088ac95e25a2a7aed8653e8cd0333e" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-rank149/data/residual-isometries.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/hub/r740-hosted-rank149/data/residual-isometries.json", + "sha256": "b23fda74a7979179e8fd83ee9870c1e232442cc90c05077adaabfe31d050d1e4", + "git_blob": "ec8b4131d203d7a288ca078ca559f922d38fe9d2" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-rank149/data/selection.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/hub/r740-hosted-rank149/data/selection.json", + "sha256": "4d9c2cf6a3d31a6faa287731e0721cb16601b0bc5c1a186b9645bfb5760ce8db", + "git_blob": "c57069f7385c3b6aff4fe3c73c0a21bae727c76f" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-rank149/data/word.json.gz", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/hub/r740-hosted-rank149/data/word.json.gz", + "sha256": "41626789888ee070e1b435fa380b10ab9b88e3cf7d8d8e166ecef17269bbcf47", + "git_blob": "3c8489a29f0de2cad7dafaddc340a1ff197d5172" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/nine/geometry.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/nine/geometry.py", + "sha256": "36eeda3184bd009e89462b65c8725d10860c444f8da8f1f87e5f6e50120011ca", + "git_blob": "91594e0223e8fac49162b5aef834ffaa8e94a254" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/pricing/base_two_moment.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/pricing/base_two_moment.py", + "sha256": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "git_blob": "14a90fa0e788217856f070382c9e61bd7c603c61" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/pricing/moment.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/pricing/moment.py", + "sha256": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "git_blob": "7d697cb45203fe72d97037403d6da41f71f3b7fd" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/pricing/outer.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/pricing/outer.py", + "sha256": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "git_blob": "43007488ad2c43187c77cc6798beff8b1cd76ad2" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/pricing/prime_witnesses.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/pricing/prime_witnesses.py", + "sha256": "98cd03bc9582e7bd0ab194c191ea8eea940539e510051443ab9fd3e572a364ab", + "git_blob": "7f16d930302ae879c562dd58e085d9747fcac077" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/provenance.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/provenance.py", + "sha256": "e28fd87d0e34a6f6f6f1fddb6c4891deac220662c954de855d7aa5a7f9cceca4", + "git_blob": "9bfcb106230e454d9405ce5eb42dd2218d905ea6" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/skeleton/e8.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/skeleton/e8.py", + "sha256": "721d859a6517d665ca84d03ef89668da3aae7433ffb0ee47faf37f2aeb85450e", + "git_blob": "92e83a2e0c1f67551f583630a728b2a880b06f51" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/skeleton/gen.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/skeleton/gen.py", + "sha256": "7cdcf48078ed4beacd2e240aa8145e4aa6984558748d07659cb1b252786e073a", + "git_blob": "9811c127d41521e906462a75322a29f0e193629c" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/skeleton/geom.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/skeleton/geom.py", + "sha256": "bb356568fa05e7bfd5fcd9012903611cf742729a99b4dc3a13685355b2678ae3", + "git_blob": "9e5fe3a781dc52e07b7c5de3a44c8be6f5024cd4" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/code/skeleton/wordkit.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/code/skeleton/wordkit.py", + "sha256": "2b6c12d96f24a4e81f2c807827c2b74cf80037367fc8034e8c871dd5ce008351", + "git_blob": "7cc4e6d618d9d0166efe8be75a019b6aecee0582" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/data/bit/bitE8-r865.json.gz", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/data/bit/bitE8-r865.json.gz", + "sha256": "1fb726ea3818fe0837cceb0dd22a71a0814f064e5e781628104610d6468e0e55", + "git_blob": "8bec1751f7e33c3a1e4673ef5dbc34d6f205321e" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/data/bit/bitE8mut-r489.json.gz", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/data/bit/bitE8mut-r489.json.gz", + "sha256": "835eb96e147740fc7454f8cfb3dbd34ae89524b1dbd89a61e9288eae8ab6a5b9", + "git_blob": "ef67bec220c96a1de7b87c9f1a6e7acb26cb3284" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/data/complex/pr448/EXPECTED.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/data/complex/pr448/EXPECTED.json", + "sha256": "18b42250c3faf6f0df76fcab6c3a483582192ad7bb09cb1985f4b0bb91d67024", + "git_blob": "1574e6488b6fc59191ae49fcc0c089e48b196fbd" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/data/complex/pr458/EXPECTED.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/data/complex/pr458/EXPECTED.json", + "sha256": "a4312cb0c53c2066a28b683a971a41e7d76c5f6d828a96481c3ae7b3c01bb2f3", + "git_blob": "e06a17c177eee0e0962c96ea61554239ef38ef4d" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/data/complex/pr471/EXPECTED.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/data/complex/pr471/EXPECTED.json", + "sha256": "188f9d1a7450496dbfd8d64381febd20b0597141537eb1a003435297df2d1720", + "git_blob": "ed1e72239ebebdbfad847fb817e5546f980c1d8d" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/data/complex/pr473/EXPECTED.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/data/complex/pr473/EXPECTED.json", + "sha256": "70e515f0a5a2f9508cd030d35a99f90981a6eccc027c9ad5a3c77f5860310910", + "git_blob": "45ee9fde7fdf6b19b6303372068977201b4ef61c" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/data/complex/pr478/EXPECTED.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/data/complex/pr478/EXPECTED.json", + "sha256": "07bd05d14c71df8925b0b03510b2b337334b73ac425a94e03b2ec34ed2680164", + "git_blob": "77f5805cd8125602e8c50f4eaba1691440c611c2" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/data/complex/pr483/EXPECTED.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/data/complex/pr483/EXPECTED.json", + "sha256": "799fa4ab2f785c478c3cdcb6c1c0428a5ce6e3ddbe4a4b2fd88630d811a593f6", + "git_blob": "f7ff643cd54a334bf46c82989ba155eb6e69adde" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/data/complex/pr484/EXPECTED.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/data/complex/pr484/EXPECTED.json", + "sha256": "0c93018a23bc573c7d155d4786e0c3978e95be0fda974076697939a1a1d8e5be", + "git_blob": "7f93fcbb9f1c2799fd86dd308ec1e6f0ad2a3264" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/data/complex-b.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/data/complex-b.json", + "sha256": "dce3f4b76aa3f6c3ba826ce556ffa61398b33e81e4d1a226dd2a36ce684fb02e", + "git_blob": "0df48f8e590fc9ad01ca4d6eaf97b9acc10aac7d" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/data/eleven/hosting.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/data/eleven/hosting.json", + "sha256": "61f790657c465d16d3455f48f90f816797b9ea08bf02dbd0c90d2cf41836257e", + "git_blob": "72b63ff0866db6aec50ecd356d7d007b17bf6475" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/data/eleven/residual-isometries.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/data/eleven/residual-isometries.json", + "sha256": "0fa5b353a0321af2ce4e2045db1d4c2d6418a11663894e2afcdb1eaa1984bddc", + "git_blob": "5c645b267861fd0994d2679885f8e0bbf99640b0" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/data/skeleton/d4part-pairs.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/data/skeleton/d4part-pairs.json", + "sha256": "d69ffe3326140bc541b8f1639e02db43a5835ab8ca02cc742b5bee2bf2ef1ba9", + "git_blob": "7ea439877369b6c2e94bb47980d08944d61454fb" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/data/skeleton/plan-skB.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/data/skeleton/plan-skB.json", + "sha256": "f6162bb4d8092bc233700fa7ebc6a0d79f2893135aee18e998369044abb3f44b", + "git_blob": "52e341f4f0b441ff88897162cc9f25eb72f34405" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/discovery/README.md", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/discovery/README.md", + "sha256": "b09aa45d5651720e10326cde559c863ba3ea45fe2fb6b4aaa3bfaa66a8fcf69f", + "git_blob": "751a9e82df9c860b496affd423b938cb008e2d88" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/discovery/d4part.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/discovery/d4part.py", + "sha256": "a64927c340a4772ce0682b349e0c90c80d1a766000ccf397fb41b36a31929179", + "git_blob": "ed7418a0800321d7629e86b4946f77e8cf60a044" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/discovery/host_select.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/discovery/host_select.py", + "sha256": "2aaaac18e083d289d4341e734c32571c89c51fefba04b388d407c7372b906dc7", + "git_blob": "5b50de453ddbd90d433f9ea8ed584308e7ab2d0f" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/discovery/plan.py", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/discovery/plan.py", + "sha256": "40e8dea1b4b71c5afd5993625f57bcac089dd2f72dfbc4dbc23ce917e5a61010", + "git_blob": "050a3ca42bad8b3d34d149607a7c67de39a52356" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/portable-include/bits/stdc++.h", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/portable-include/bits/stdc++.h", + "sha256": "420094be2af295eed03a983dd66debbbe9cfb78d8252859f4498a615a0074b99", + "git_blob": "fc5664e929d9a81d9b4926bee049a93330be86ec" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/requirements.txt", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/requirements.txt", + "sha256": "6023d480f929cdfa4e2f35e361eea003451cd6695af806935a32038b0115abb5", + "git_blob": "05bdf190fff0fda4cf958441aa15b9d7a9239ad4" + }, + { + "file": "vendor/e8-bit-carrier-skeleton/verify.sh", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/e8-bit-carrier-skeleton/verify.sh", + "sha256": "0f9248aa3611dfe2b5d59dbe992c6f7d21a0cc4f1de2b5ed05a6110191191224", + "git_blob": "dd7df2a4445f5a8b0d5e336a855a930ab5d34bee" + }, + { + "file": "vendor/direct-delivery504-global/EXPECTED.json", + "commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "path": "research/direct-delivery504-global/EXPECTED.json", + "sha256": "0c4c7df98633ace6dd3f1604462dd509945f6b2d463a0b045442b785906101f1", + "git_blob": "c340c32b84d7ea63c5f15eac78e38eace428c599" + }, + { + "file": "vendor/pr548/complex-local/code/apply_syndrome.py", + "commit": "66dbc2bffc1bfa8d50b3f9a2ac7ccba8fd9f6f36", + "path": "research/pruned-trace-response/complex-local/code/apply_syndrome.py", + "sha256": "496a91b9da15ef56e6df28a0459ca8318a4575441c7921e113bf636f31e3c5d8", + "git_blob": "6fd085c5ed7ffbb0ccf34cd80d55e182db19f9a6" + }, + { + "file": "vendor/pr548/complex-local/code/port_frames.py", + "commit": "66dbc2bffc1bfa8d50b3f9a2ac7ccba8fd9f6f36", + "path": "research/pruned-trace-response/complex-local/code/port_frames.py", + "sha256": "8d25abc9c45c58a5b893e67f9abec3a660e8d7f743e86959f2d2fd62037e23d1", + "git_blob": "bd9187bd060ffb8e5fc80596d4f866492fbdef05" + }, + { + "file": "vendor/pr548/complex-local/docs/OPENAI-SOURCES.json", + "commit": "66dbc2bffc1bfa8d50b3f9a2ac7ccba8fd9f6f36", + "path": "research/pruned-trace-response/complex-local/docs/OPENAI-SOURCES.json", + "sha256": "1a9c08d0c0190f0280c02e74c8a144f802efe2d7d8eb3a0b50b181d6dca686cd", + "git_blob": "9d480f5d1c71e5df3f27976a228cbf0cdf575e1f" + }, + { + "file": "vendor/pr548/complex-local/docs/TWO-SOURCE-PROOF.md", + "commit": "66dbc2bffc1bfa8d50b3f9a2ac7ccba8fd9f6f36", + "path": "research/pruned-trace-response/complex-local/docs/TWO-SOURCE-PROOF.md", + "sha256": "4d6423f773ec47d2eea984e02f11f2d636e02ad3e6f3eb3e640a3768fa04fe75", + "git_blob": "7ab57778a1ddb1bf63f27097c33602f7dedb6a39" + }, + { + "file": "vendor/pr548/complex-local/inputs/PR534-WORD.json.gz", + "commit": "66dbc2bffc1bfa8d50b3f9a2ac7ccba8fd9f6f36", + "path": "research/pruned-trace-response/complex-local/inputs/PR534-WORD.json.gz", + "sha256": "a275792cb9f5729fac295cb04c556afbaa4513945c517190219fd0e44ab90095", + "git_blob": "965888339a0ac249031cde058c44d3f40771d303" + }, + { + "file": "vendor/pr548/docs/PR-LINEAGE.md", + "commit": "66dbc2bffc1bfa8d50b3f9a2ac7ccba8fd9f6f36", + "path": "research/pruned-trace-response/docs/PR-LINEAGE.md", + "sha256": "5da58a79e16072498e9059740505318fa084ef0df81d82cc3563356e98fad8d9", + "git_blob": "80d06b6a8d4ad2d5d99e50a51c1ee92876808973" + }, + { + "file": "vendor/pr548/complex-global/vendor535/inputs/ROUND20-PARENT-TEMPLATE.json.gz", + "commit": "66dbc2bffc1bfa8d50b3f9a2ac7ccba8fd9f6f36", + "path": "research/pruned-trace-response/complex-global/vendor535/inputs/ROUND20-PARENT-TEMPLATE.json.gz", + "sha256": "025448abdf2012d327e50a009084e1501690d05e650300d2982836aa0350ae00", + "git_blob": "3e28a9b59f8fde608e59ebd5fbdbc22ca54558d4" + }, + { + "file": "vendor/pr548/complex-global/vendor531/evidence/local/CANONICAL-WORD.json.gz", + "commit": "66dbc2bffc1bfa8d50b3f9a2ac7ccba8fd9f6f36", + "path": "research/pruned-trace-response/complex-global/vendor531/evidence/local/CANONICAL-WORD.json.gz", + "sha256": "de2be0f4b6d24ace368fd5b834b7a00f9625d0a1824c4ff969f2db5f115db667", + "git_blob": "3b0a475178f4e4ad107e3595992c872e47e83c63" + } + ], + "errors": [] +} diff --git a/research/subspace16-r420/SOURCES.json b/research/subspace16-r420/SOURCES.json new file mode 100644 index 0000000000..c1f77a9071 --- /dev/null +++ b/research/subspace16-r420/SOURCES.json @@ -0,0 +1,288 @@ +{ + "sources": [ + { + "pr": 543, + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "vendor/e8-bit-r420", + "changes": "None; full source copied unchanged." + }, + { + "pr": 544, + "commit": "4858bb38da10cd8a1cd25ef85e7c14f4e2b529dd", + "paths": [ + "vendor/pr531", + "vendor/static44", + "code/phases_full.py", + "code/run.py" + ], + "changes": "These listed dependencies are unchanged. The PR548 owner map replaces the old PR544 map, and its profile is repriced for the new word." + }, + { + "main_commit": "db0e57bc7f36b5ac0fc844ad7ce1396165ee6647", + "paths": [ + "vendor/e8-bit-carrier-skeleton", + "vendor/direct-delivery504-global/EXPECTED.json" + ], + "changes": "None; PR543 required dependencies copied unchanged." + }, + { + "pr": 548, + "commit": "66dbc2bffc1bfa8d50b3f9a2ac7ccba8fd9f6f36", + "paths": [ + "vendor/pr548", + "data/OWNERS.json.gz" + ], + "changes": "Exact listed source files and owner map retained; data/PLAN.json copies the exact owner assignments and changes only local/global paid profiles and explanatory metadata." + } + ], + "inherited_files": { + "code/run.py": "a32781a6319b96759aa8be71b3a797463051ebdedeba289a08ff3d88fa129f35", + "code/phases_full.py": "a273c325ffd6793d5b63b79a289a9d2bbc9292e6940fb5a926924f3708627af4", + "data/OWNERS.json.gz": "b5a5339dd37d90a0adf40d90d6aed52aec2f94073a3b27763575eb069f85a903", + "vendor/e8-bit-r420/MANIFEST.sha256": "e76447d8b457d3701c97f7f972b24779910cb6517af27f8b5e37d026de28c81f", + "vendor/e8-bit-r420/EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "vendor/e8-bit-r420/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "vendor/e8-bit-r420/requirements.txt": "e11a6f5c2a40b77fbf54a31a4c45bac575e9d2f765d35b657406d5f088fd0664", + "vendor/e8-bit-r420/verify.sh": "3192dea51acd17addb2750834a9dc3fb5b991e8dc5970ba9d2ac54608d79cafa", + "vendor/e8-bit-r420/SOURCE-pr535.json": "74254fde5cff5580d5c199b139ff3ce31a3defded3f653a3ba83cf0c9204ddc4", + "vendor/e8-bit-r420/DEPENDS.json": "fa9253078c444b8f4a57e849048f727c3c8233c3dc3c7f651bef2cf7bb0178c5", + "vendor/e8-bit-r420/README.md": "9807be57c6adf26b30e4f54e2f8160075bbc05091f1a6d157e43d2a4620c1c9f", + "vendor/e8-bit-r420/SOURCE-pr510.json": "5e84c26ba837ce029acd1b5089e5533d2ebde793deede84215322112e95e06f8", + "vendor/e8-bit-r420/NOTICE.md": "12ba6e0845f222e9940b00f6c60d261db104246a8d3143da267682973479f811", + "vendor/pr531/SOURCES.json": "9e8182e6e659f4671fe0873e324b622cc871df7344157093df40476c8687be5f", + "vendor/pr531/EXPECTED.json": "0c4c7df98633ace6dd3f1604462dd509945f6b2d463a0b045442b785906101f1", + "vendor/pr531/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "vendor/pr531/README.md": "305497b4bf15e691bf0ea504f628a397ea40b814053948ca32c84ce5c16e6f5b", + "vendor/pr531/verify_fast.py": "ea4e33a17419009f0872fac42f7ae5a2f2090c4487cc9815721d907d1e9b1cae", + "vendor/pr531/LOCAL-VALIDATION.json": "e7dcbbe16d3a51288dddcc9022ba852ea6c9d428f8391c72d9b61429168a5561", + "vendor/pr531/MANIFEST.json": "c1997405c5c0ccd9bdb0a30b0eb9a5a2dc7dc7ce7b59c6a83a2152b80f6410d1", + "vendor/pr531/NOTICE.md": "a92f49c5ced455160fbedcc8954e3c9255e3605e88ad12ae5a84f1c4302986f1", + "vendor/direct-delivery504-global/EXPECTED.json": "0c4c7df98633ace6dd3f1604462dd509945f6b2d463a0b045442b785906101f1", + "vendor/e8-bit-carrier-skeleton/MANIFEST.sha256": "7f25c41d0400ef5adf763eae6e166003a9b59e5a655b860c04b052f6731c7297", + "vendor/e8-bit-carrier-skeleton/SOURCE-pr436.json": "4a4f99f5bdb7530a0dcf9433f7f02afbf2abf908e718f7c63ffa5503d4f49693", + "vendor/e8-bit-carrier-skeleton/EXPECTED.json": "3494ba83280cc86548fe0cc6695c50d23e6b6ffca85aeb1a33337c1196e280cb", + "vendor/e8-bit-carrier-skeleton/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "vendor/e8-bit-carrier-skeleton/requirements.txt": "6023d480f929cdfa4e2f35e361eea003451cd6695af806935a32038b0115abb5", + "vendor/e8-bit-carrier-skeleton/SOURCE-pr483.json": "24e3eab4a985e115adb7f8665a401423e9636e9f16cc4373ec68cc86950445a8", + "vendor/e8-bit-carrier-skeleton/SOURCE-pr381.json": "16b1977240ca9acb58fa64572fb4231a423bc10bbf3e7bb30f1c8201fe369ba5", + "vendor/e8-bit-carrier-skeleton/SOURCE-pr471.json": "499d861e090c9e646d978dd67890a8e58a9ff6bf08512684e66605179132076b", + "vendor/e8-bit-carrier-skeleton/SOURCE-pr386.json": "87c659ba932525631a40be14dca28a6a2efade8641f23bb08d6e1567fc991131", + "vendor/e8-bit-carrier-skeleton/SOURCE-pr451.json": "a639956eec858341987a815b7464ef472505300db754b5f9ac012dd01d18c8df", + "vendor/e8-bit-carrier-skeleton/verify.sh": "0f9248aa3611dfe2b5d59dbe992c6f7d21a0cc4f1de2b5ed05a6110191191224", + "vendor/e8-bit-carrier-skeleton/SOURCE-pr484.json": "b92f43fbcba3921a1aa37bcb9f05cf5fa612ff708785e05512438a6317bf0867", + "vendor/e8-bit-carrier-skeleton/README.md": "e5212e8058c92a2b02cc12b4e174a65ce1cef7b4d7977ae770e64f5ff91b7204", + "vendor/e8-bit-carrier-skeleton/SOURCE-pr473.json": "2515c4f23dfa22a21913d92597669770f7f44c2a5b3ef069ef68a0c89779a656", + "vendor/e8-bit-carrier-skeleton/SOURCE-pr445.json": "e6f4a272442bb71ef68aaa3545b271236f9c99297e444fa01c62b0b5fb6a170f", + "vendor/e8-bit-carrier-skeleton/SOURCE-pr448.json": "c771fa9be492408a78d6d970c839e68c4dfd1b66f4f4a4748e3d12726a43cf27", + "vendor/e8-bit-carrier-skeleton/SOURCE-pr370.json": "03de1d341196cfa8cf1d39f3cc8648b25bb5f39c3c602a728cfbd089e8253ac0", + "vendor/e8-bit-carrier-skeleton/SOURCE-pr472.json": "6753bcf50c91806b75dd4dbe3963a79699a614d0dab8ce32b261cc3e76b288b1", + "vendor/e8-bit-carrier-skeleton/SOURCE-pr458.json": "cbdea984a46ab5de354b95e73fd76c1918fdc6676c658398a552772c4dc3dcaf", + "vendor/e8-bit-carrier-skeleton/NOTICE.md": "5f4b7fcbf99f572be28b6da612ce775363908cdfc7810f7aca167be01c86e49a", + "vendor/e8-bit-carrier-skeleton/SOURCE-pr478.json": "9c7c4ea678865a955b0c89f0952927159976fdf55cadc6a488dec5757f03fe7d", + "vendor/static44/build.py": "b15192ff50fd99f5ca3cb5857b5e129c98a212de60ae76aafb1614139743c35a", + "vendor/static44/SOURCE-MANIFEST.json": "4f5d92b4cd76eff0845a9f14d33131441535a232b5c91f00535aa076d44c45a8", + "vendor/static44/PROOF.md": "abfa6548b223893866094631aed61174575dc1b17bdd60627b2c55e6b9477e4f", + "vendor/static44/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "vendor/static44/RECIPE.json": "8735ac9beadff3edcb4a4df8dae174415e0f83d9b4df8556c33ba7fd777505fa", + "vendor/static44/README.md": "51d6ef7ad3e12e72daf29e0260a11cd985a0148fe1efa0574a533dae726c553c", + "vendor/static44/NOTICE-upstream.md": "1547136e6d269fdcef2b68c10a97a786a79a4732a12738363f679bfb282430cd", + "vendor/static44/META-SOURCES.json": "c8aeb9313f2c671a9a8766c249ceb6cffa106dfdab3ab761da8e8c534b115090", + "vendor/static44/replay.py": "fd1ce7d1f8974b473aef8c6cec1e0c590e01d0d215b073e5573a771ce42fc74d", + "vendor/static44/audit_scalar.py": "a1cd720d281c7a9db7f17919c637cdcb8558e9f3c96e929706f0c21f317a7943", + "vendor/static44/gk/gk_word.py": "f027a9273bcf4e0971258c160b7d3b3c196366b32a529cff6e6a0e666b03826b", + "vendor/static44/gk/gk_common.py": "e68d190fd436b2f3955decb590adb53344d5d4ea0a19d62d86df1e4b55ecd198", + "vendor/static44/inputs/RAW504.json.gz": "1c6144791dbedf6427e3ee7b4c24fb05b5bf407f6346592f50f8dd8d9638108d", + "vendor/static44/inputs/OLD-RECIPE.json": "7e5c179246261edd9e1019e81e6e979537f02559da773b993a318f771cb7d763", + "vendor/static44/inputs/BASE535.json.gz": "edfffb8e8735e0d1f07c81d818022b705ef0889c2bccc193a2f7a661b9f7d390", + "vendor/e8-bit-carrier-skeleton/discovery/plan.py": "40e8dea1b4b71c5afd5993625f57bcac089dd2f72dfbc4dbc23ce917e5a61010", + "vendor/e8-bit-carrier-skeleton/discovery/README.md": "b09aa45d5651720e10326cde559c863ba3ea45fe2fb6b4aaa3bfaa66a8fcf69f", + "vendor/e8-bit-carrier-skeleton/discovery/d4part.py": "a64927c340a4772ce0682b349e0c90c80d1a766000ccf397fb41b36a31929179", + "vendor/e8-bit-carrier-skeleton/discovery/host_select.py": "2aaaac18e083d289d4341e734c32571c89c51fefba04b388d407c7372b906dc7", + "vendor/e8-bit-carrier-skeleton/code/cited.py": "a4c2dd4755f2a45ceda327b36d9ee400c2804893000626ca8ff3f6ee296fd842", + "vendor/e8-bit-carrier-skeleton/code/provenance.py": "e28fd87d0e34a6f6f6f1fddb6c4891deac220662c954de855d7aa5a7f9cceca4", + "vendor/e8-bit-carrier-skeleton/data/complex-b.json": "dce3f4b76aa3f6c3ba826ce556ffa61398b33e81e4d1a226dd2a36ce684fb02e", + "vendor/e8-bit-carrier-skeleton/data/bit/bitE8-r865.json.gz": "1fb726ea3818fe0837cceb0dd22a71a0814f064e5e781628104610d6468e0e55", + "vendor/e8-bit-carrier-skeleton/data/bit/bitE8mut-r489.json.gz": "835eb96e147740fc7454f8cfb3dbd34ae89524b1dbd89a61e9288eae8ab6a5b9", + "vendor/e8-bit-carrier-skeleton/data/eleven/hosting.json": "61f790657c465d16d3455f48f90f816797b9ea08bf02dbd0c90d2cf41836257e", + "vendor/e8-bit-carrier-skeleton/data/eleven/residual-isometries.json": "0fa5b353a0321af2ce4e2045db1d4c2d6418a11663894e2afcdb1eaa1984bddc", + "vendor/e8-bit-carrier-skeleton/data/skeleton/d4part-pairs.json": "d69ffe3326140bc541b8f1639e02db43a5835ab8ca02cc742b5bee2bf2ef1ba9", + "vendor/e8-bit-carrier-skeleton/data/skeleton/plan-skB.json": "f6162bb4d8092bc233700fa7ebc6a0d79f2893135aee18e998369044abb3f44b", + "vendor/e8-bit-carrier-skeleton/data/complex/pr458/EXPECTED.json": "a4312cb0c53c2066a28b683a971a41e7d76c5f6d828a96481c3ae7b3c01bb2f3", + "vendor/e8-bit-carrier-skeleton/data/complex/pr473/EXPECTED.json": "70e515f0a5a2f9508cd030d35a99f90981a6eccc027c9ad5a3c77f5860310910", + "vendor/e8-bit-carrier-skeleton/data/complex/pr484/EXPECTED.json": "0c93018a23bc573c7d155d4786e0c3978e95be0fda974076697939a1a1d8e5be", + "vendor/e8-bit-carrier-skeleton/data/complex/pr483/EXPECTED.json": "799fa4ab2f785c478c3cdcb6c1c0428a5ce6e3ddbe4a4b2fd88630d811a593f6", + "vendor/e8-bit-carrier-skeleton/data/complex/pr448/EXPECTED.json": "18b42250c3faf6f0df76fcab6c3a483582192ad7bb09cb1985f4b0bb91d67024", + "vendor/e8-bit-carrier-skeleton/data/complex/pr478/EXPECTED.json": "07bd05d14c71df8925b0b03510b2b337334b73ac425a94e03b2ec34ed2680164", + "vendor/e8-bit-carrier-skeleton/data/complex/pr471/EXPECTED.json": "188f9d1a7450496dbfd8d64381febd20b0597141537eb1a003435297df2d1720", + "vendor/e8-bit-carrier-skeleton/code/bit/mutate_records.py": "b0e75d6550412a7be4017695e6b237392b611bb852ad8ff309d6682c9f166a4e", + "vendor/e8-bit-carrier-skeleton/code/bit/mutate_records_mut.py": "a9e085ec60d5657cd5d77832e3d95004e81b9f4f249d9e0fc95e345366cb2d2e", + "vendor/e8-bit-carrier-skeleton/code/bit/export_records.py": "8a5999601f917dbb492bb9ae9a344611f18cc7cedc53dc3c76496a369e530eb3", + "vendor/e8-bit-carrier-skeleton/code/eleven/audit.py": "5ad832830c19ec6c904d1b64480f6b1e71c5673fdd38d487d17e179b1d197c09", + "vendor/e8-bit-carrier-skeleton/code/eleven/local_audit.py": "95275473d7f9811011bda760dd0f04de5169c2a6922456dc9a5725a5d671f941", + "vendor/e8-bit-carrier-skeleton/code/eleven/assemble.py": "c47889a606701ae592374dd82a13cee8c5a4e8449b7facfdad2d90563a30a18c", + "vendor/e8-bit-carrier-skeleton/code/eleven/adapt.py": "d8a8c13b484d985f0133a5d06de4a78b8477314f922b9f693ba73640b7184d6b", + "vendor/e8-bit-carrier-skeleton/code/eleven/emit.py": "b0b25955875625ed63f82690f83aef976e3e9a978ae6620b23a23fc1207acd46", + "vendor/e8-bit-carrier-skeleton/code/skeleton/gen.py": "7cdcf48078ed4beacd2e240aa8145e4aa6984558748d07659cb1b252786e073a", + "vendor/e8-bit-carrier-skeleton/code/skeleton/geom.py": "bb356568fa05e7bfd5fcd9012903611cf742729a99b4dc3a13685355b2678ae3", + "vendor/e8-bit-carrier-skeleton/code/skeleton/e8.py": "721d859a6517d665ca84d03ef89668da3aae7433ffb0ee47faf37f2aeb85450e", + "vendor/e8-bit-carrier-skeleton/code/skeleton/wordkit.py": "2b6c12d96f24a4e81f2c807827c2b74cf80037367fc8034e8c871dd5ce008351", + "vendor/e8-bit-carrier-skeleton/code/nine/geometry.py": "36eeda3184bd009e89462b65c8725d10860c444f8da8f1f87e5f6e50120011ca", + "vendor/e8-bit-carrier-skeleton/code/pricing/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "vendor/e8-bit-carrier-skeleton/code/pricing/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "vendor/e8-bit-carrier-skeleton/code/pricing/prime_witnesses.py": "98cd03bc9582e7bd0ab194c191ea8eea940539e510051443ab9fd3e572a364ab", + "vendor/e8-bit-carrier-skeleton/code/pricing/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "vendor/e8-bit-carrier-skeleton/code/hub/idle-axis-hosting/hosting_core.py": "d8b90cd5d152df3c7c351230863d9e61816ad5e1f21d69bea1a86a5daad559a3", + "vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-eleven/code/geometry.py": "9554182d67e434ea84b4430f909a2c400abc755d8487b51454a8e6968e62859d", + "vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-eleven/code/emit.py": "ac63ee481f3d75cb9f0658faaa2412db81d55bc44d9f1ff1c0329ce1e75aa0d4", + "vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-eleven/code/row_bound.py": "de4a9b9cd797e1a05da56f62cfe725c8728cea3a4aa031b7d1b0a68f869760d6", + "vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-eleven/data/selection.json": "52dbbb68e8c147690d15eaa1d952df05d074b0c121885a4159d9f6732f391872", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/e8core.py": "1cb286196c1530d06f50f0997febc5993b388f33464e295611b920ba30a24eeb", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/bank_routes.py": "7c6997c455bd55acca3a1603797c34e7733d557c27a7694a1429ff15773a505d", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/tile_m.py": "d6ae4a556472d403773cd2117c992bfc10e1187112da1b3893f3fae628a131dd", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/data/word.json.gz": "d8d6d3d3f336720302bc40b3c1504fe3c3583a7a8d707bb9bd7b21f85e5e69c6", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/data/residual-isometries.json": "e12ed7ddd13cee101ba74a083b54665fd64d0b122b0bad5b83d817dcc8bae9d8", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-rank149/code/emit.py": "ac63ee481f3d75cb9f0658faaa2412db81d55bc44d9f1ff1c0329ce1e75aa0d4", + "vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-rank149/data/word.json.gz": "41626789888ee070e1b435fa380b10ab9b88e3cf7d8d8e166ecef17269bbcf47", + "vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-rank149/data/residual-isometries.json": "b23fda74a7979179e8fd83ee9870c1e232442cc90c05077adaabfe31d050d1e4", + "vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-rank149/data/selection.json": "4d9c2cf6a3d31a6faa287731e0721cb16601b0bc5c1a186b9645bfb5760ce8db", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/code/audit.py": "d28062127a9b0d3866a3b79aad98a307233b20ebdb94cfb9f197d726b82ffea5", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/code/local_audit.py": "23eda3fe3d774e7f2dbf4dbdd4ff90d69ae7d1762ff95c8629cdc7667aa3fe71", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/code/assemble.py": "abb60c35e448e0f94073f38a0352d11249aaf7bb8dbd7352414ae60a1d2b79c3", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/code/emit.py": "98d77cefbc3a76f9f10bd7df3a2590ab88b411f6afe77b5f8d73f1602eb2bef3", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/data/hosting.json": "765382d4fefd594e94c8c5826ec6300422ce9f79c816d7f7323ef85e99320f28", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/data/word.json.gz": "b2af02f593cd161bea64e6cd793508386914136be519f80726c071697379d5a9", + "vendor/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/data/residual-isometries.json": "750221cc66badd0ed0a74e7aad2d59f91f89c107370af21c6d929fbdd4a08a9f", + "vendor/e8-bit-carrier-skeleton/code/bit/checkers/gram_frames.py": "223a5a07731fc315a90a3e48177796babc155c1d9985c7ae5017eff6af2a0608", + "vendor/e8-bit-carrier-skeleton/code/bit/checkers/json.hpp": "aaf127c04cb31c406e5b04a63f1ae89369fccde6d8fa7cdda1ed4f32dfc5de63", + "vendor/e8-bit-carrier-skeleton/code/bit/checkers/legality_h.cpp": "6c1ef2b24e57781d6951c172a1024fc4300e6fd392c9d6672079a7806ab663b3", + "vendor/e8-bit-carrier-skeleton/code/bit/checkers/columns_k.cpp": "1c344d18fcd494eeca93e259f10cafae7705780e6592f6dcb35b34752dab9bc2", + "vendor/e8-bit-carrier-skeleton/code/bit/checkers/columns_h.cpp": "d1297f9052be4f2496e1ff2a77e4db2c0cdbd7d460d489b4c03e50bf317238ce", + "vendor/e8-bit-carrier-skeleton/code/bit/independent/mutate_mut.py": "3b002c19a5dcca76a5594f2a30fac7c01d2b45fc96b3e7cfbfd8b720f5ffb4e8", + "vendor/e8-bit-carrier-skeleton/code/bit/independent/interface.py": "2c63a039f97e3a11ce5a6b83302d4f5beda160c1db14164a5a9b0855aeb19d3c", + "vendor/e8-bit-carrier-skeleton/code/bit/independent/mutate.py": "0ff65aace5da4b57d96235bf830f8f11969322e75134d498aeb70e9753ec6b0d", + "vendor/e8-bit-carrier-skeleton/code/bit/independent/relax.py": "d6e9f58de3fa41f538516b6227c249d61fb30f0f6843027cc8a07a1a372fa6b6", + "vendor/e8-bit-carrier-skeleton/code/bit/independent/checkword.py": "11bf9620ca9db16d52d9fe806b814fc9ec9a89c4d7645354d1861d96f6e805ad", + "vendor/e8-bit-carrier-skeleton/code/bit/regression/stage_cohort.py": "6c288f6f234b528c1a7c0a4adfb724e91e0fe6b18c8dffad96af3f973de1829a", + "vendor/e8-bit-carrier-skeleton/portable-include/bits/stdc++.h": "420094be2af295eed03a983dd66debbbe9cfb78d8252859f4498a615a0074b99", + "vendor/pr531/proof/DELIVERY-AND-COALESCING.md": "7e719f01416cf312272dfabca8b355d327128859c01d686056e0833e83870bc7", + "vendor/pr531/proof/LOCAL-CONSTRUCTION.md": "3b1fc44f6f8290361cb24526cf91c3174c734f5da3cc9fb94559a96168d39e70", + "vendor/pr531/proof/GLOBAL-HOSTING.md": "c47b61bf2e998583e4626eec068439600f3464aab2ddbdb0ac044b0136d7b502", + "vendor/pr531/evidence/LINE-GAUGE-SELECTION.json": "1ecec9dd594653d54448ba9e2fd7b7b830e26bfd159d3b268672f80d8cb06250", + "vendor/pr531/evidence/FAST-REPLAY.json": "b95028b7cd5a830bd5d702d5193f0bc93d981426ca6f8916eea7a2bf9dcc53a7", + "vendor/pr531/evidence/COALESCING.json": "f9175c204c084e083ba2f8f4bc66dc71feb75d90b1b57b36dfacbffe89568ae0", + "vendor/pr531/evidence/PR523-FIXED-WORD-CEILING.json": "e971df6465b6a37d2042bd7e2169419578d68d7177c060599b16b3f67292935f", + "vendor/pr531/evidence/PUBLIC-SNAPSHOT.json": "d859621516bb33d1c77ea9413b53930fab42447360b7e6246ba839b95a834abb", + "vendor/pr531/evidence/SAME-PARTITION-FRONTIER.json": "3a02123a292730c1dfea8d6c1c8238115b4b07d19c8b8f119b54c345cd1f46af", + "vendor/pr531/evidence/DISCOVERY-MOMENT.json": "d964db94f4a11840bbea57a47c203a2fe6b51a381072d403d1c1504ac2ba0c7b", + "vendor/pr531/evidence/VERIFICATION-SCOPE.json": "424ea699b0849c3e8dd41d585b271906cbbbbddb4c3464fd20dde30133bae367", + "vendor/pr531/evidence/ENTRANCE-SELECTION-SCREEN.json": "2d5c7db49077ea50f0877f1bd3a5839e5c49a7c75519ebaf549bce0e828b7b99", + "vendor/pr531/evidence/BEFORE-COALESCING.json.gz": "5381265008ec84dc0b3eb2870040215b8470620d234573c15e836dba928d910e", + "vendor/pr531/code/emit_supplier_hosted.py": "53c0b653b3a5100756d6a9473c90101b8c3ab72723d7047983906ab997bdf920", + "vendor/pr531/code/audit_same_partition_frontier.py": "3a2a072304c0c112b4938070515035b49595c86565b454806fdcbbfacf0e1bd2", + "vendor/pr531/code/audit_and_transport.py": "a4fc272266785e1fffd44775c6fa6df783c4352de4c3f1d925cf953a23b84e7f", + "vendor/pr531/code/invoice_final.py": "96b6bed96ca8b60dfc064cd1c7962c45a5cb53c4e52cd90aaea6ccf8d109db97", + "vendor/pr531/code/construct_504.py": "a0d96ede40b957c38dcb64296d5f4a76c23dfb8c8875e01a80b5f1bdf6e8360e", + "vendor/pr531/code/assemble.py": "71b4cbbbc5acdfe06ac67879cf54ea761e29e52143af1cd8410ad672a5cc190b", + "vendor/pr531/code/emit_local.py": "eefc76e0bee003015fe21ac685c2cce658033d5444add404d2d509c7d6f39bac", + "vendor/pr531/code/audit_supplier_hosted.py": "301e9b5c593b6d583065337eb7b3ef207cf039e265f099f89080a4bf25856b43", + "vendor/pr531/code/audit_local.py": "69b12c45d0a961175a824c1967353c7f3b94818a7dd6ac7bbcf56a6d1a5ed8e8", + "vendor/pr531/code/adapters_local.py": "4e89a5c517cd87ff6a5aa9b7334c0d74821179ae5777d31284da25b9d8abf113", + "vendor/pr531/code/prepare_supplier_base.py": "f5eae94aca965d0008bc07cff8245ccb7509042ccad457d3bcb7d51c1e9409f0", + "vendor/pr531/code/build_selected.py": "7fa8f981cbf3b01ac960226e6afc6be7bd76d94d9c01796941979deb77bd8875", + "vendor/pr531/code/phases_delta.py": "15723107eff03013b2e797fd9fa3635b1b46c5d1c8112d19fada98c178d4acb6", + "vendor/pr531/code/coalesce_frames.py": "b3e53a17f2519e1afc5bee9b6518252eeb0cb7c56b6e0a1554fdfb54f2908915", + "vendor/pr531/inputs/OWNERS.json.gz": "5e27eaf098214e3ab8159e322241aa90a1ae77b0bff78b426512b87f9f60c91f", + "vendor/pr531/inputs/OWNER-PLAN.json": "13d5284e3d95fd4718b538f7d0d1e6f8db3236d4608a755dce6deade440f4185", + "vendor/pr531/inputs/PR523-ANCESTRY.json": "0bfce40d86c849f18e8872ee9e8462b0a69a34ed04e01e942a6614645f686f4b", + "vendor/pr531/inputs/PR523-PREFIX-AND-INVOICE.json": "bb43ef04791037a37d2596c395e81191991fde6581326118995cf4318ee472a3", + "vendor/pr531/inputs/PR493-EXPECTED.json": "3494ba83280cc86548fe0cc6695c50d23e6b6ffca85aeb1a33337c1196e280cb", + "vendor/pr531/inputs/SELECTION.json": "46cfad0c5a4b8dacc18ed02b5e259f2168e6a93a8dff6ffb447fb0f20917a9bd", + "vendor/pr531/inputs/PR523-EXACT-ASSEMBLY.json": "39900354203609a142d159096ccc221ddb21c1f714b2b74b9b1b325beaf15259", + "vendor/pr531/inputs/ASYNC-6.json": "8a128d7c435f01d9f920c1353711eb0721ce3cbdd0b8799bf69b2d676266dbd3", + "vendor/pr531/inputs/phase-baseline/CANONICAL-WORD.json.gz": "addf598581d2a20e13d0c18110607515ad90b06125616a2349e53a47bb5b6c80", + "vendor/pr531/inputs/phase-baseline/LOCAL-CHECKS.json": "ead7163869ecb9fc276f477c0ec0ed85dc74d7901ce04f91213bcf7ee1f20382", + "vendor/pr531/inputs/phase-baseline/CLIFFORD-REVIEW.json": "468a5df1937e82a0b8e8c1c2540e18480f354154325353c5596c68e7435c89c2", + "vendor/pr531/inputs/phase-baseline/CLIFFORD-RECIPES.json": "1f37afd5a9e14b113ba56e0ac8a5200a6b41c695d2cd308dc0fd6ec46a4c73d2", + "vendor/pr531/inputs/hamming/PACKET-PROGRAMS.json.gz": "d833ae0390d165d7da0c639a3c7aeb77156c2ddb52447087cb49b9d03b19e9b9", + "vendor/pr531/inputs/hamming/PROTOTYPE.json": "327d2a868043e846381aa58a33053c24425e8cad522ff401b10ec8af1d649a3f", + "vendor/pr531/inputs/data-base/split-centres/CANONICAL-WORD.json.gz": "addf598581d2a20e13d0c18110607515ad90b06125616a2349e53a47bb5b6c80", + "vendor/pr531/inputs/data-base/split-centres/GLOBAL-TEMPLATE.json.gz": "5b913207775fcd87090cfa8776e8bd2bb872426923345fe1a1a4e1ea84bfae2c", + "vendor/pr531/inputs/data-base/work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "vendor/pr531/inputs/data-base/work/pr361/code/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "vendor/pr531/inputs/data-base/work/pr361/code/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "vendor/pr531/inputs/data-base/work/pr361/code/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "vendor/pr531/vendor/clifford/clifford_exact.py": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962", + "vendor/pr531/vendor/gk/gk_word.py": "f027a9273bcf4e0971258c160b7d3b3c196366b32a529cff6e6a0e666b03826b", + "vendor/pr531/vendor/gk/gk_common.py": "e68d190fd436b2f3955decb590adb53344d5d4ea0a19d62d86df1e4b55ecd198", + "vendor/pr531/evidence/hosted/HOSTED.json": "a0b29d73f2beb821a59f356150a7a9475394643bf9fd8eb5a67a6fc4d46ad2f5", + "vendor/pr531/evidence/hosted/ACTUAL-SIGMAS.json.gz": "dbced27348bd0ae2fb937a9c1fd03e2181d7268ccdea5d80ebbe6ec3fed314d9", + "vendor/pr531/evidence/hosted/IDLE-REMAINDER-FRAMES.json.gz": "a21fb2c7395b7193d46752f7bd9cc670fbfffc7287f8370bd9f6df0aed6b21eb", + "vendor/pr531/evidence/hosted/GLOBAL-TEMPLATE.json.gz": "0c5ea47883fafc2aa0b2b9711e7c52a3fc8fdf96c84eb3043834e34ced550473", + "vendor/pr531/evidence/local/CANONICAL-WORD.json.gz": "de2be0f4b6d24ace368fd5b834b7a00f9625d0a1824c4ff969f2db5f115db667", + "vendor/pr531/evidence/local/RESIDUAL-ADAPTERS.json": "83a91fb9cbbe600328cd399f67fdb6ffb698ed3b20d050916d21f3af48b0db20", + "vendor/pr531/evidence/local/LOCAL-PROGRAMS.json.gz": "755a5c4ebe958fd9f7b5d4a6e7a506d2c802e31c4d9da46b63db1994c4d8ffa6", + "vendor/pr531/evidence/local/LOCAL-CHECKS.json": "c6807681d40cb46c21a50edc1058044ddc758f2dd3e6b0bab16d7cb28d41732f", + "vendor/pr531/evidence/local/CLIFFORD-REVIEW.json": "a917bb1abdc864b404dc4a869af3e29aaab2270d392b662cb60b70ebbe5d1975", + "vendor/pr531/evidence/local/LEMMA-A.json": "f789357f75d562ec9c6f2ef75ced6f4286df2840b493600147b34a36ad0fa460", + "vendor/pr531/evidence/local/INDEPENDENT-LOCAL-REPLAY.json": "4149f3d2ec3041965c5d72869748090d9aeed422f36d753550c543bb7808b30b", + "vendor/pr531/evidence/local/CLIFFORD-RECIPES.json": "1ac0a7d07a487bf58e59e82a8a656a3a3edca5731af9029ad7874b535407ceb9", + "vendor/pr531/evidence/local/FULL-WORD.json.gz": "bd6b004c4948d5ce80d4f81477338fe30434c2a94586463fdcc531df0dbc9509", + "vendor/pr531/evidence/local/SCALAR-FRAME-AUDIT.json": "5bf884b9c5c9e65658974a8f5548f93a583fb48461e8125fa68893aa2b403718", + "vendor/pr531/evidence/audit/OWNERS-AND-PROFILE.json": "e5f11e7b920f9985f085546c641dbac5b8d98231d562e1e030ab2566ccea4bd6", + "vendor/pr531/evidence/audit/PREFIX-AND-INVOICE.json": "ce1bfa49be88ae67a404f606a11db2232b7e1f2610d4418058e39749d86d8478", + "vendor/pr531/evidence/audit/GLOBAL-PREFIX.json": "378275e21f7ff147cd7cb0b33c972e75139d949195ddf13dd71b55a77a0f7cfb", + "vendor/pr531/evidence/audit/ASYNC-AUDIT.json": "01ea0015d4e08170ac65f1cdd051be64e07f622eba62eadbf39524317388cba7", + "vendor/pr531/evidence/audit/IDLE-REMAINDER-FRAMES.json": "7923ed6a528f006c353fe7e0639fd230ad140ca835b8e64ceadc7aefb0300ea8", + "vendor/pr531/evidence/audit/EXACT-ASSEMBLY.json": "550c6703e73b2dcfaae986706ceb1ac67ecd93dec8b591954abe51c7fa3b7a03", + "vendor/e8-bit-r420/discovery/planL3b.py": "7179039fddf3ea12c9cb1d61fad6668f3282b50afdc43c7948d0bfc3a2b35c77", + "vendor/e8-bit-r420/discovery/README.md": "9970e45fd1d5b34a2a384dee0e2768b6f17f85d26751860cd649d12144604e3c", + "vendor/e8-bit-r420/discovery/planL3.py": "dd65e617aa786754520ca839988a6f0a87af53ca108e2bd722bfd69ee2c71508", + "vendor/e8-bit-r420/code/xcheck.py": "5737d18a7826fd51e131035f2d7bebba2e2868af91dd7672a5f11208b036d424", + "vendor/e8-bit-r420/code/mutants.py": "e2fd3429e2db4389ae8a5ab47dda89f551b0d0952c42fad5ac8d38a85d670594", + "vendor/e8-bit-r420/code/planio.py": "c0a687f61aed29455cea953d8a3e49a32136edb3cd4213c46880c146a6ca7fa3", + "vendor/e8-bit-r420/code/summary.py": "afdf2e53648b417fcc49cd05e9a18ee9fff9ae41e791a6ffa333130e30f35feb", + "vendor/e8-bit-r420/code/gen_l3.py": "d5c802447c99255db1bdfcae62b2116bfc9612c9dc9000d41aa4f5f2fec9f2f2", + "vendor/e8-bit-r420/code/cited.py": "1770f4eb61e130e3cc6e23f67507d8bb7587baaf8391d749c2e7fe5c66089044", + "vendor/e8-bit-r420/code/provenance.py": "aade757c1e4e2714207cbc80a9a60793d84b5f009de2cac79ee8d3239986fd2a", + "vendor/e8-bit-r420/code/adapt11.py": "46c205f6036bb8635a34ab6ef2c54a9e446bec1435fcc14ab55949a5dbee8aa4", + "vendor/e8-bit-r420/code/mutrec_b.py": "231cbf26bfe5e6824347e4556959941d8b4dea1efa06d7f88d7a73cca8b03158", + "vendor/e8-bit-r420/code/nodeopt.py": "6a5896f60b1fe05c41ab28ce822dff782c635e12d0c74fad20b5ce2a4010fa3f", + "vendor/e8-bit-r420/data/plan-l3.json": "d5c2494b4baae801143049e172db303b3c8e25a002e9d9715a1d79dcb2d74c58", + "vendor/e8-bit-r420/data/complex-b.json": "ec81d67d8a82d41859ee33a4e387679b71e5ced15de074a71195d08969dd308a", + "vendor/e8-bit-r420/data/selection9-r420.json": "9737b5f39367ee5a8affa52e5fbb92d1408f0f9e9f14ed64d6f00ea9428b291c", + "vendor/e8-bit-r420/data/hosting11-r420.json": "d7964e04604f804b2b334a989087a5e855243160f4d40cf9336d9b25995ac5d8", + "vendor/e8-bit-r420/data/bitE8mut-r420.json.gz": "9721a3819efd68307f66f00d84a952eb28eb7c3ad2ce79653ce295c98a764784", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/EXPECTED.json": "883f7a1a84f31d9e4430e348bc8d9c1ec10210b206ff602dbe126349056af13d", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-dead-totals/data/bitE8mut-r480.json.gz": "92e399e9a486b55229b5624632ac54f800dd9e022f2aee97f1e5f264bbc0ef5c", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/code/assemble9.py": "4bf6768224a3fac81ccda26df24f3763f9a4fbc35ad62bef2888595cdae519fe", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/code/adapt.py": "27b6b77cc4ebf439f9019e63a22dedc1ef72ee65fe120aad3d17316b1df06d7b", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/data/selection9-r480.json": "8176db518bed23ea8121543bfb18085ec6633064142ba40ac5db00f63b06553d", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/idle-axis-hosting/hosting_core.py": "d8b90cd5d152df3c7c351230863d9e61816ad5e1f21d69bea1a86a5daad559a3", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/config.py": "283d7fad45155ee91e704d63ec947cf4a60aeff5cc43510bc0e835f7da7d8767", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/e8core.py": "1cb286196c1530d06f50f0997febc5993b388f33464e295611b920ba30a24eeb", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/bank_routes.py": "7c6997c455bd55acca3a1603797c34e7733d557c27a7694a1429ff15773a505d", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/tile_m.py": "d6ae4a556472d403773cd2117c992bfc10e1187112da1b3893f3fae628a131dd", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/bank_routes_k.py": "ea678a7befda10c6f1b9dd38a36fe1437c6468472bd649f60b9f01522047e0bf", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/global_k.py": "6368196a393ac25bb2918880e4c4bd31ed733b762c27b6873ab391cbc0c5c3c8", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/emit_k.py": "298b16c3d4f58a468ad1a64564c8500cb281414a3f3c0428fd467908eeb4a4b4", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/audit_hosted_k.py": "57e558c80a2fea6e291587b04afd76dfaee3550729997798b61f33daf90b8ec9", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/audit_parent_k.py": "374e1d983589463bbfa06b6e9f2ffafb9d2c14acf97b1f858593a3cef90e93d2", + "vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/hosting_k.py": "081c3b95b18d900d97ce82af64fb428f085b6adc6d8ca93ea920797dad7eb81e", + "vendor/e8-bit-r420/data/complex/pr535/EXPECTED.json": "cb734055c36681d38cf431a6926b7713351a94073cfba37d70a5384a9ef0d178", + "vendor/e8-bit-r420/data/complex/pr535/EXACT-ASSEMBLY-PR493.json": "3f4be566309841e00e842d5686f7937a355ae1a6a2eaa3ccb07bdf8a9ca604fb", + "vendor/pr548/docs/PR-LINEAGE.md": "5da58a79e16072498e9059740505318fa084ef0df81d82cc3563356e98fad8d9", + "vendor/pr548/complex-local/code/port_frames.py": "8d25abc9c45c58a5b893e67f9abec3a660e8d7f743e86959f2d2fd62037e23d1", + "vendor/pr548/complex-local/code/apply_syndrome.py": "496a91b9da15ef56e6df28a0459ca8318a4575441c7921e113bf636f31e3c5d8", + "vendor/pr548/complex-local/docs/TWO-SOURCE-PROOF.md": "4d6423f773ec47d2eea984e02f11f2d636e02ad3e6f3eb3e640a3768fa04fe75", + "vendor/pr548/complex-local/docs/OPENAI-SOURCES.json": "1a9c08d0c0190f0280c02e74c8a144f802efe2d7d8eb3a0b50b181d6dca686cd", + "vendor/pr548/complex-local/inputs/PR534-WORD.json.gz": "a275792cb9f5729fac295cb04c556afbaa4513945c517190219fd0e44ab90095", + "vendor/pr548/complex-global/vendor531/evidence/local/CANONICAL-WORD.json.gz": "de2be0f4b6d24ace368fd5b834b7a00f9625d0a1824c4ff969f2db5f115db667", + "vendor/pr548/complex-global/vendor535/inputs/ROUND20-PARENT-TEMPLATE.json.gz": "025448abdf2012d327e50a009084e1501690d05e650300d2982836aa0350ae00" + } +} diff --git a/research/subspace16-r420/code/assemble.py b/research/subspace16-r420/code/assemble.py new file mode 100644 index 0000000000..9c4a2ba92c --- /dev/null +++ b/research/subspace16-r420/code/assemble.py @@ -0,0 +1,176 @@ +"""Compose independently verified R420 bit and freshly admitted subspace complex supplier. + +Prepared for icekylinx with GPT-6 Astra assistance, Apache-2.0. +Adapted from the attributed PR531 assembly. Both rational moment engines and +the 47-constraint outer engine remain pinned inherited implementations. +Both changed operators are freshly reconstructed; the complex data controller is retained. +Adaptation: fresh bit invoice and source hashes replace the cited bit receipt. +Usage: assemble_meta.py PACKAGE BIT_RESULT OUTDIR COMPLEX_AUDIT COMPLEX_HOSTED +""" +import hashlib +import importlib.util +import json +import sys +from fractions import Fraction as Q +from pathlib import Path + +if not __debug__: + raise SystemExit('Run with assertions enabled.') +assert __debug__, 'Run with assertions enabled.' +ROOT, B, O, CA, CH = map(Path, sys.argv[1:6]); O.mkdir(parents=True, exist_ok=True) +BIT_COMMIT = '2065fe4f72a914d907f1046603f5a36f17018535' + + +def sha(path): + return hashlib.sha256(path.read_bytes()).hexdigest() + + +def load(name): + path = ROOT / 'vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/engines' / (name + '.py') + spec = importlib.util.spec_from_file_location('combined_' + name, path) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + return module + + +def decimal(value, places): + scaled = value * 10 ** places + assert scaled.denominator == 1 + digits = str(scaled.numerator).zfill(places + 1) + return digits[:-places] + '.' + digits[-places:] + + +M, Other, Outer = [load(name) for name in ['moment', 'base_two_moment', 'outer']] +owner = json.loads((CA / 'OWNERS-AND-PROFILE.json').read_text()) +inv = json.loads((CA / 'PREFIX-AND-INVOICE.json').read_text()) +host = json.loads((CH / 'HOSTED.json').read_text()) +assert owner['template_sha256'] == inv['template_sha256'] == host['template_sha256'] +assert inv['owner_audit_sha256'] == sha(CA / 'OWNERS-AND-PROFILE.json') +assert all(inv['strict_checks'].values()) +P = {int(rank): count for rank, count in owner['paid_profile'].items()} +m, W = 73, owner['live'] +assert m * W - sum(rank * count for rank, count in P.items()) == 2560 + + +def two_moments(profile, dimension, live, lower): + """Keep the full rational sign intervals for both independent engines.""" + fallback = 32 * dimension * dimension * sum(profile.values()) + receipts = [] + for endpoint, accept in [(lower, True), (lower + Q(1, 10**24), False)]: + lo, hi = M.moment(profile, dimension, live, endpoint, True) + a, b = Other.moment(dimension, live, list(profile.items()), endpoint) + f, g = Other.moment(dimension, live, [(1, fallback)], endpoint) + a += f / 10**16 + b += g / 10**16 + assert (hi < 1 and b < 1) if accept else (lo > 1 and a > 1) + receipts.append(dict(endpoint=str(endpoint), accept=accept, + mercator=[str(lo - 1), str(hi - 1)], + base_two=[str(a - 1), str(b - 1)])) + return receipts + + +cert = M.certify(P, m, W, True) +b, bp = Q(cert['lower']), Q(cert['upper']) +assert bp - b == Q(1, 10**24) +complex_receipts = two_moments(P, m, W, b) + +# These checks bind and reprice the freshly reconstructed bit invoice. +# Native local and global physical admission are separately source-bound. +bit = json.loads(B.read_text()) +assert bit['status'] == 'PASS_NINE_STAGE_WHOLE_HOSTED_BIT_PRICE_AND_CITED_ASSEMBLY' +bitP = {int(rank): count for rank, count in bit['bit_profile'].items()} +bit_inv = bit['bit'] +bm, bW = 64, bit_inv['live'] +assert (bm, bW, bit['stages'], bit['replicas']) == (64, 30720, 9, 32) +assert sum(rank * count for rank, count in bitP.items()) == bit_inv['rank_mass'] +assert bm * bW - bit_inv['rank_mass'] == 9984 +assert max(bitP) == bit_inv['maxchild'] == 42 +assert bit_inv['halving_depth'] == 2 and 2 * max(bitP)**2 < bm**2 +assert bit_inv['physical'] == bW + 9 == 30729 +assert bit_inv['hosted_residuals'] == 420 * 9 * 32 +assert bit_inv['bank_assignments'] == 0 +assert bit_inv['prefix_bits'] < 256 +assert bit_inv['prefix_bits'] < bit_inv['charged_prefix_bits'] == 192 +assert bit_inv['two_level_coefficient_bits'] < bit_inv['charged_two_level_coefficient_bits'] == 512 +assert bit_inv['row_coefficient'] < 20161 +c = Q(bit['bit_lower']) +assert c == Q(bit['bit_lower_decimal']) +bit_receipts = two_moments(bitP, bm, bW, c) + +eta = beta = grid = Q(1, 10**18) +s = min(c, (1 - beta) * b) - Q(1, 10**24) +assert 0 < s < c and s < (1 - beta) * b +coeff = bit_inv['charged_two_level_coefficient_bits'] +row = max(20161, bit_inv['row_coefficient'], inv['finite']['physical_row_coefficient']) +chain, cuts = [Q(384599, 10**10)], [] + + +def ceil(value): + return -(-value.numerator // value.denominator) + + +for _ in range(6): + old = chain[-1] + a = (1 - s) * s + s * old + gap = min(s - a, 1 - a - s, 1 - a - s * (1 - old), 1 - s) + assert old < a < s < 1 - a and gap > 0 + cut = max(ceil(36 / gap**2), ceil(2 * (4 + coeff) / gap)) + assert cut * gap**2 >= 36 and cut * gap >= 2 * (4 + coeff) + cuts.append(dict(gap=str(gap), cutoff_log2=str(cut))) + chain.append(a) +q = chain[-1] * (1 - 2 * eta) +margin = (1 - eta) * q / (1 + q) +ticks = margin / grid +kap = grid * ((ticks.numerator - 1) // ticks.denominator) +bridge = {'semantic': {'C0': {'base': 2, 'exponent': 210000}, 'strict_literal_gap': 1}, + 'rows': {'degree_gap': Q(10**6) - Q(51 * row, 25)}} +assembly = Outer.assembly(chain[-1], b, bridge, kap, eta=eta, beta=beta) +assert len(assembly['strict_constraints']) == 47 +assert all(value > 0 for value in assembly['strict_constraints'].values()) +controls = [] +for name, k, e, be in [('next_grid', kap + grid, eta, beta), + ('zero_eta', kap, Q(0), beta), + ('zero_beta', kap, eta, Q(0)), + ('unit_beta', kap, eta, Q(1))]: + try: + Outer.assembly(chain[-1], b, bridge, k, eta=e, beta=be) + except AssertionError: + controls.append(name) + else: + raise AssertionError(name) + +baselines = {'PR547_updated':Q('0.001590984155135328'), 'PR535': Q('0.001584931111785787'), 'PR541': Q('0.001587212454640692'), 'PR542_543': Q('0.001587467473762886'), 'PR544': Q('0.001588602246663212'), + 'PR531': Q('0.001517760977820331'), + 'rejected_POST208_checkpoint': Q('0.001543640781718742'), + 'PR533': Q('0.001524207950793244')} +res = dict( + status='PASS_SUBSPACE16_R420_BOTH_SUPPLIERS', + complex_lower=str(b), complex_decimal=decimal(b, 24), + next_b_rejected=str(bp), exact_moment_receipts=complex_receipts, + bit_lower=str(c), bit_decimal=decimal(c, 24), + bit_exact_moment_receipts=bit_receipts, + bit_result_sha256=sha(B), + complex_dependency={'source_pr':548,'commit':'66dbc2bffc1bfa8d50b3f9a2ac7ccba8fd9f6f36','local_word':'response-sliced and subspace-optimized static44','new_global_owners':False}, + bit_dependency={'pull_request':543,'commit':BIT_COMMIT,'changed_word':'PR543 R420 with interleaved phase-B source writes','fresh_bit_receipt_sha256':sha(B)}, + bit_prefix_bits=bit_inv['charged_prefix_bits'], + bit_charged_two_level_coefficient_bits=coeff, + external_row_allowance=row, + kappa=str(kap), kappa_decimal=decimal(kap, 18), + binding_component='bit' if c < (1 - beta) * b else 'complex', + improvements={name: {'baseline': str(value), + 'relative_gain': str(kap / value - 1), + 'percent_display': f'{float(100 * (kap / value - 1)):.8f}'} + for name, value in baselines.items()}, + strict_outer_constraints={k: str(v) for k, v in assembly['strict_constraints'].items()}, + outer_controls=controls, bootstrap=cuts, + complex_template_sha256=host['template_sha256'], + owner_audit_sha256=sha(CA / 'OWNERS-AND-PROFILE.json'), + invoice_sha256=sha(CA / 'PREFIX-AND-INVOICE.json'), + bit_scope='The R420 bit word is freshly reconstructed, replayed and admitted by this package by the native local and hosted-global checkers, with its interleaved source-write interface audited separately. The static44 complex supplier is freshly rebuilt and admitted separately.', + scope='Conditional finite witness under the retained all-size compiler, ' + 'common-label/mutable-basis, whole-call hosting, restored-work, ' + 'precision/tape and analytic-transfer contracts. Fresh changed-bit admission ' + 'and complex admission and finite invoices are separately hash-bound. The unchanged complex data controller remains a cited dependency. No unconditional theorem is claimed.') +(O / 'EXACT-ASSEMBLY.json').write_text(json.dumps(res, indent=2) + '\n') +print(res['status'], 'b', res['complex_decimal'], 'kappa', res['kappa_decimal']) +print(json.dumps(res['improvements'], sort_keys=True)) diff --git a/research/subspace16-r420/code/build_frames.py b/research/subspace16-r420/code/build_frames.py new file mode 100644 index 0000000000..d6df615274 --- /dev/null +++ b/research/subspace16-r420/code/build_frames.py @@ -0,0 +1,30 @@ +"""Replay the frozen 63-frame recipe; no search or optimizer is required. +Prepared for chafreaky with Codex assistance, Apache-2.0. +""" +from pathlib import Path +from collections import Counter +import copy,gzip,hashlib,json,sys +if not __debug__:raise SystemExit('Assertions required') +P=Path(__file__).resolve().parents[1];sys.path.insert(0,str(P/'vendor/static44/gk')) +import gk_word as G +import gk_common as C +G.V=C.V=112;G.DATA=C.DATA=7168 +source,out=map(Path,sys.argv[1:3]);assert not out.exists();out.mkdir(parents=True) +w=json.load(gzip.open(source));old=copy.deepcopy(w);recipe=json.loads((P/'data/RECIPE.json').read_text());before=G.profile(w) +assert dict(before)=={int(k):n for k,n in recipe['before'].items()} +assert len(recipe['changes'])==63 +seen=set() +for change in recipe['changes']: + sec,i=change['section'],change['index'];assert sec in ('A','B') and (sec,i) not in seen;seen.add((sec,i)) + e=w[sec][i];assert e[-1]==change['old'];F=G.basis(change['new']);assert list(F)==change['new'];e[-1]=list(F) +after=G.profile(w);assert dict(after)=={int(k):n for k,n in recipe['after'].items()} +assert {r:after[r]-before[r] for r in set(before)|set(after) if after[r]!=before[r]}=={1:16,2:-16,3:-16,4:16} +assert sum(before.values())==sum(after.values()) and sum(r*n for r,n in before.items())==sum(r*n for r,n in after.items()) +assert G.widths_of(w)==G.widths_of(old) +for sec in ['A','B']:assert [e[:-1] for e in w[sec]]==[e[:-1] for e in old[sec]] +for key in old: + if key not in ('A','B','report'):assert old[key]==w[key] +w['report']['local_profile']=dict(after);w['report']['local_rank_mass']=sum(r*n for r,n in after.items()) +blob=G.dump(w);blob=blob[:9]+bytes([255])+blob[10:];(out/'FULL-WORD.json.gz').write_bytes(blob) +r=dict(status='PASS_FROZEN_SUBSPACE16_FRAME_RECIPE',changes=len(seen),changes_by_section=dict(Counter(s for s,i in seen)),before=dict(before),after=dict(after),delta={1:16,2:-16,3:-16,4:16},rank_mass=sum(r*n for r,n in after.items()),scalar_operations_unchanged=True,starts_cut_cleanup_and_widths_unchanged=True,source_sha256=hashlib.sha256(source.read_bytes()).hexdigest(),word_sha256=hashlib.sha256(blob).hexdigest(),scope='Exact nested-frame legality and paid-profile identity. Full arbitrary-dirt, phase, owner and invoice admission are independent subsequent stages.') +(out/'RESULT.json').write_text(json.dumps(r,indent=2)+'\n');print(r['status'],r['changes_by_section'],dict(after)) diff --git a/research/subspace16-r420/code/phases_full.py b/research/subspace16-r420/code/phases_full.py new file mode 100644 index 0000000000..d68f097d5d --- /dev/null +++ b/research/subspace16-r420/code/phases_full.py @@ -0,0 +1,39 @@ +# Adapted from PR425 for heterogeneous centres by icekylinx with Codex assistance. +"""Exact phase-aware lowering of every used edge of the new structural word.""" +import gzip,hashlib,json,sys,time +from collections import Counter +from pathlib import Path +sys.path.insert(0,str(Path(sys.argv[2]).resolve())) +from clifford_exact import * + +OUT=Path(sys.argv[1]);P=OUT/'CANONICAL-WORD.json.gz' +c=json.load(gzip.open(P));n=c['h'];frames=c['frames'];start=time.monotonic();ops=[] +for U in frames: + op=canonical_frame(n,U) + L=[u|(u< (x,s,y+x) for arbitrary helper contents. These statements, +including actual chronological frame inclusion, are checked directly on all +660 columns and under nine negative and one positive mutation control. + +The PR493 interface checker additionally required all B destinations to be +targets. That narrower checker intentionally rejects R420. This package retains +that rejection and replays PR543's explicit generalization, rather than deleting +an assertion from the old checker. All original native cohort checkers remain +unchanged and accept the changed physical record stream, with targeted native +mutants. The exact role-independent common-label lift is still an inherited +conditional interface; the scalar proof does not claim to discharge it. + +## Nine-stage invoice and complex supplier + +The R420 nine-stage global chain has m=64, live stock 30,720, rank mass +1,956,096 and deficit 9,984. All 120,960 helper occurrences are hosted whole. +The global profile is {1:380160,2:426624,4:32640,5:34560,6:15360,7:23040, +8:2592,42:3456}. Its largest child satisfies 2*42^2=3528<4096=64^2, +so the inherited two-level invoice applies. The actual prefix is 189 bits, +charged 192; the coefficient bound is 416 bits, charged 512; row bound 18,355. +The conservative original per-child bad-class charge is retained. + +The changed complex word is reconstructed from PR548, then response-pruned and +assigned the 63 frozen subspace frames in this package. Its exact owner placement +is retained from PR548 and re-emitted with the actual changed program. The live +stock is 7,168, physical stock 7,682, deficit 2,560 and helper count 36,288. +See SUBSPACE16.md for its complete profile. The unchanged data controller and +data-phase certificate remain explicitly pinned dependencies. Measured prefix +is 218 bits, charged 512. + +Two rational engines certify and reject adjacent 10^-24 endpoints for each +supplier. Set eta=beta=10^-18 and use the inherited six-step finite bootstrap. +All 47 strict outer inequalities hold at κ=0.001591968902833346; four controls, +including the next 10^-18 grid point, reject. The complex side binds. No +all-size compilation, restored-work, analytic or common-label obligations are +newly discharged by this finite composition. diff --git a/research/subspace16-r420/proof/PR510-MUTABLE-SOURCE-CARRYOVER.md b/research/subspace16-r420/proof/PR510-MUTABLE-SOURCE-CARRYOVER.md new file mode 100644 index 0000000000..da33eb5206 --- /dev/null +++ b/research/subspace16-r420/proof/PR510-MUTABLE-SOURCE-CARRYOVER.md @@ -0,0 +1,125 @@ +# PR510 as a conditional bit dependency: mutable-source carryover + +## Review conclusion + +PR510 at commit **`64edee18af02aab0c1696b677a0287dd0146381b`** may be used as an +explicitly cited conditional bit supplier with + +$$ +c=\frac{396861776523137034277}{250000000000000000000000} + =0.001587447106092548137108. +$$ + +Its nine-stage mutable-source realization is covered by the same role-independent +common-label/mutable-basis contract already retained by PR493 and PR531. The +lemma below supplies the short carryover argument that PR510's README lists +as a review point. It does **not** discharge the inherited all-size compiler, +target-label, whole-call correlated-helper hosting, compressed-window, restored-work, +common-grid/tape, precision, row, or analytic contracts. A claim that the bit +supplier is unconditional would be unsupported. + +The pinned PR510 README and source were reviewed, together with PR472's +“Shared physical labels and residual routes” proof and PR443's replication +proof. No long bit replay was run for this review. + +## Role-independent local realization lemma + +Work over an admitted odd **address** field. Stream **values** are in +$\mathbf F_2$; these two fields are distinct. For an orthogonal projector +$P$, the bit address permutation is + +$$ +D_P=\begin{pmatrix}I-P&P\\P&I-P\end{pmatrix},\qquad D_P^2=I. +$$ + +Let $\Lambda_D f=f\circ D$ denote pullback by an address bijection. Then, +for arbitrary streams $f,g$, + +$$ +\Lambda_D(f\mathbin\oplus g)=\Lambda_Df\mathbin\oplus\Lambda_Dg. +$$ + +Consequently, if both operands carry the same current address label, an XOR +into either operand commutes with that common label. This statement has no +condition on whether its destination is designated a source, helper, or target, +nor on whether the stream still equals its original input. + +For nested frames $F\subseteq G$, their orthogonal projectors satisfy +$P_GP_F=P_F$. Thus $P_G-P_F$ is a projector orthogonal to $P_F$, and + +$$ +D_{P_G-P_F}D_{P_F}=D_{P_G}. +$$ + +This is the usual paid frame climb. Induction through the literal frame climbs +and common-frame XORs therefore gives the same local realization when source +registers are written. The inherited COPY/ERASE semantics for the retained +totals are unchanged. + +In the compressed nine-stage construction, the local projector is extended +by the same exterior stage projector for every register in one invocation. +The exterior summand cancels from nested differences. The explicit port +isometries provide the entry and exit coordinate transports; their conjugacy +is the elementary identity + +$$ +(\rho\oplus\rho)D_P(\rho^{-1}\oplus\rho^{-1})=D_{\rho P\rho^{-1}}. +$$ + +After these specified transports, each common-frame gate uses one common local +chart. Different port transports are not silently identified. The geometry's +endpoint identities, including $D_I D_P=D_{I-P}$, also give the reflected +invocation. Neither induction depends on the number of stages, the replica +number, or the names of its physical source owners. + +## Application to the actual word and owners + +R480 retains PR493's mutable-source structure. Its source writes are the +577 block-D4 XOR gates in phase A. The parent `interface.py` checks that no +target feeds a source/helper, the dirt compensation is target-from-helper at +frame zero, phase B writes only targets, and the full-frame cleanup is the +literal reverse of every source/helper operation. Writing $z=(x,h)$, the +raw map consequently has the triangular form + +$$ +z'=Uz,\qquad y'=y+Jx+Kh. +$$ + +The checked compensation and scalar columns establish the intended target +map; literal $U^{-1}$ restores every source and helper. The preceding +pullback lemma realizes this argument at the recorded frames even while a +source is temporarily changed below the full frame. F2 column replay verifies +the scalar identity; the pullback identities supply the separate address +argument. One is not being substituted for the other. + +The nine-stage `global_k.py` reads both operands' actual frame IDs uniformly, +replays all local and global data/helper columns, and maps the data registers +by the explicit replica/pair/side/port formula. It makes no read-only-source +assumption in that replay. Repetition over the 32 replicas is a direct sum of +the same nine-stage identity. A restored local source may subsequently be a +bridge operand just as in the eleven-stage construction. + +Finally, PR510's `emit_k.py` changes only whole residual owners. Apply the +retained PR442 hosting contract to the **complete arbitrary-dirt local call**; +do not infer a free gate-by-gate identification of different physical families. +The hosting windows exclude every local or bridge touch of their host data +pair. A mutable source in the active pair therefore cannot also be one of that +call's idle hosts. This is the same owner/window obligation as before. + +## Provenance and limited review scope + +- [PR510 README, pinned](https://github.com/DreamingOfClouds/integer-mult-bounds/blob/64edee18af02aab0c1696b677a0287dd0146381b/research/e8-r480-nine-stage/README.md): exact bit endpoint, stage count, declared interfaces and review point. +- [PR493 README as vendored at that pin](https://github.com/DreamingOfClouds/integer-mult-bounds/blob/64edee18af02aab0c1696b677a0287dd0146381b/research/e8-bit-carrier-skeleton/README.md), and its `code/bit/independent/interface.py`: mutable-source word and structural guards. +- [PR472 proof, pinned](https://github.com/chafreaky/integer-mult-bounds/blob/259c68488b7aa8a14cf3fcae7fc499381c9bf729/research/e8-r715-whole-hosted/PROOF.md): role-independent common-label pullback and whole-call hosting scope. +- [PR443 proof, pinned](https://github.com/chafreaky/integer-mult-bounds/blob/5a514e94f156edcc5fd827b87494d962f79d0f6c/research/e8-r740-replica32/PROOF.md): direct-sum replica construction and conditional realization scope. + +The source review also covered PR510's vendored `global_k.py`, `emit_k.py`, +and the parent `code/nine/geometry.py`. This review does not re-certify the +published bit price or all hosting assignments; those remain pinned dependency +evidence to be bound by the combined package. + +Credit: DreamingOfClouds and disclosed Claude assistance for PR510 and its +nine-stage integration; eumemic for PR493; the attributed PR503 R480 change; +Zhihao Chen for PR425's mutable-basis lemma and PR386 geometry; chafreaky for +PR443/444/472 and their disclosed assistance; DaysSky for PR442 hosting. +This carryover exposition was prepared for icekylinx with GPT-6 Astra assistance. diff --git a/research/subspace16-r420/proof/SUBSPACE16.md b/research/subspace16-r420/proof/SUBSPACE16.md new file mode 100644 index 0000000000..02ae145ac1 --- /dev/null +++ b/research/subspace16-r420/proof/SUBSPACE16.md @@ -0,0 +1,33 @@ +# A strict paid-cost improvement from new intermediate subspaces + +The baseline is the complex component of PR548 at `66dbc2bffc1bfa8d50b3f9a2ac7ccba8fd9f6f36`. Its construction, frame-lift provenance, cold-dirt correction and complete owners are retained explicitly. The R420 bit supplier is PR543 at `2065fe4f72a914d907f1046603f5a36f17018535`. + +## Observable pruning + +For a linear operation `x_d += a x_s`, its contribution to final target coordinates is `a R_d x_s`, where `R_d` is the exact suffix response of destination d. If `R_d=0`, deleting this operation leaves every observed target coordinate unchanged for every initial register value. Backward propagation updates `R_s += a R_d`. Identity scales may also be removed. Applying this exact rule deletes 238 preparation operations and no delivery operations from the baseline. Fixed prefix operations and advertised center-frame boundaries are preserved. + +Cleanup is regenerated as the literal reverse inverse of every remaining background operation. Background registers therefore return to their arbitrary initial values. The independent auditor recomputes the entire target preconditioner and cold-dirt compensation, then checks all 728 formal columns in both orientations. The pruning alone leaves the paid histogram unchanged. We make no numerical gain claim for these deletions. + +## Frozen frame assignment + +The 63 replacements in `data/RECIPE.json` change only frame labels of the sliced scalar word. Each gate still has a common frame on its operands; each physical register follows a nested chain from its prescribed start through its central boundary to its prescribed endpoint. The inherited coalescing compiler applies to these checked chains. We do not require a replacement frame to contain its predecessor assignment: legality is checked against the actual neighboring events of the resulting program. + +The recipe was found by a bounded search using random one-dimensional extensions and hyperplanes, closure propagation, neutral moves and outward rational moment comparisons. Search is not part of replay and no optimality is claimed. Replay reconstructs the word from primitive inputs, checks each old frame, applies the frozen recipe, and independently establishes legality and the actual paid profile. + +The profile difference is exactly + + ΔH = 16(e1 - e2 - e3 + e4). + +Child count and rank mass are unchanged. For every 0 < b < 1, the function f(x)=x^(1-b) is strictly concave. Its derivative is strictly decreasing, so f(2)-f(1) > f(4)-f(3), and hence f(1)+f(4)-f(2)-f(3) < 0. The new profile therefore strictly improves the local moment throughout this interval. The fallback charge is unchanged because it depends on child count. + +## Literal global accounting + +Helper entrance frames and ordered widths are identical to PR548, so its complete owner placement remains applicable. The actual controller is nevertheless re-emitted and independently audited; applicability is not inferred from a histogram alone. There are 72 local invocations, so the complete global profile changes by 1,152(e1-e2-e3+e4). Stock remainders, physical owner identities, call windows, and banks are unchanged. + +The complete global histogram is `{1:165600, 2:32128, 3:35907, 4:13248, 5:4032, 6:4032, 7:208, 8:576, 39:1, 48:1660}`. It has live stock 7,168, 7,682 physical registers, 36,288 helper roles, and rank deficit 2,560. The finite scalar invoice is regenerated from the changed program. + +Both independent rational moment engines accept b = 0.001594507308884431019637 and reject the next 10^-24 grid point. They also reprice the freshly replayed R420 bit supplier. Six exact bootstrap steps and all 47 inherited strict outer inequalities admit κ = 0.001591968902833346. Four outer rejection controls remain enabled. + +## Verification boundary + +All 2,929 local Clifford phase edges and 224 endpoint adapters are recomputed cold. The static44 construction's 44 omission controls, independent scalar/local/wrapper checks, seven physical-owner corruptions, R420 native/interface and global mutation controls are retained. These finite checks do not discharge all-size realization, fixed-tape implementation or analytic transfer. In particular, the existing outer architecture still cannot reach κ = 1 merely by tuning these suppliers. diff --git a/research/subspace16-r420/vendor/direct-delivery504-global/EXPECTED.json b/research/subspace16-r420/vendor/direct-delivery504-global/EXPECTED.json new file mode 100644 index 0000000000..c340c32b84 --- /dev/null +++ b/research/subspace16-r420/vendor/direct-delivery504-global/EXPECTED.json @@ -0,0 +1,55 @@ +{ + "kappa": "1517760977820331/1000000000000000000", + "kappa_decimal": "0.001517760977820331", + "complex_lower": "304013615566499291631/200000000000000000000000", + "complex_decimal": "0.001520068077832496458155", + "bit_lower": "391360506745414227149/250000000000000000000000", + "binding_component": "complex", + "gain_vs_pr523_percent": "4.10270516690952151876587762719477781215714784301602580611583", + "gain_vs_pr527_percent": "3.43978056942690680407730465324497183679900983917952248140999", + "global_template_content_sha256": "ed47b5454779f7ad6b32ae492a13f8b5172b11c94c3877cbc5cc5d7a4c357738", + "local_profile": { + "1": 2028, + "2": 752, + "3": 156, + "4": 392, + "5": 56, + "6": 56, + "7": 8 + }, + "global_profile": { + "1": 146016, + "2": 54144, + "3": 13991, + "4": 28224, + "5": 7615, + "6": 4032, + "7": 1376, + "32": 1, + "48": 825 + }, + "ports": 112, + "local_dimension": 9, + "helpers": 504, + "entrance_helpers": 152, + "width_inventory": { + "8": 152, + "9": 352 + }, + "center_rank_sum": 64, + "local_rank_mass": 6240, + "global_dimension": 73, + "live": 7168, + "physical": 7682, + "rank_mass": 520704, + "deficit": 2560, + "complete_invocations": 72, + "whole_helper_roles": 36288, + "owners_per_call": 728, + "actual_73_column_maps": 2352, + "paid_idle_remainders": 7968, + "global_prefix_bits": 225, + "charged_prefix_bits": 512, + "strict_outer_inequalities": 47, + "scope": "Conditional finite global witness under the inherited all-size interfaces." +} diff --git a/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/EXPECTED.json b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/EXPECTED.json new file mode 100644 index 0000000000..973aaf30f1 --- /dev/null +++ b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/EXPECTED.json @@ -0,0 +1,91 @@ +{ + "note": "Exact values that verify.sh must reproduce. The bit c is on the 10^-24 grid of PR #472's assembly (largest grid point admitted by both PR #315 moment engines with the inherited 10^-16 bad-branch allowance; the next grid point is rejected); kappa values are on the 10^-18 grid of the six-level, 47-inequality outer assembly.", + "word": { + "R": 489, + "content_sha256": "88435b75b8d6e5c722eb2aa1449f3a5e8e9601a9ffe243839ce1ec932ab76547", + "local_histogram": { + "1": 1200, + "2": 1440, + "4": 180, + "6": 120, + "8": 18 + }, + "source_destination_gates_A": 577, + "sources_rewritten": 117, + "five_stage_payload_bits": 100 + }, + "eleven": { + "bit_lower": "391360506745414227149/250000000000000000000000", + "bit_lower_decimal": "0.001565442026981656908596", + "profile": { + "1": 105600, + "2": 130560, + "4": 19680, + "6": 14400, + "7": 7680, + "8": 1584, + "48": 2, + "56": 2628 + }, + "bit": { + "live": 9600, + "physical": 9609, + "maxchild": 56, + "rank_mass": 745536, + "hosted_residuals": 43032, + "prefix_bits": 2119, + "charged_prefix_bits": 2176, + "coefficient_bits": 2119, + "three_level_coefficient_bits": 6411, + "charged_three_level_coefficient_bits": 6464, + "row_coefficient": 19431, + "halving_depth": 3 + }, + "emitted_program_sha256": "e37b52e4861c39154b5891460fb45df8651c92cd68961078f8f06596f057c822", + "kappa": { + "pr484": { + "kappa": "662515748707749/500000000000000000", + "kappa_decimal": "0.001325031497415498", + "binding_component": "complex", + "complex_lower": "663394767670133/500000000000000000", + "role": "primary" + }, + "pr471": { + "kappa": "260706019542937/200000000000000000", + "kappa_decimal": "0.001303530097714685", + "binding_component": "complex", + "complex_lower": "1305231506267591/1000000000000000000", + "role": "control (complex supplier of the current whole-residual frontier)" + }, + "pr458": { + "kappa": "323880830669511/250000000000000000", + "kappa_decimal": "0.001295523322678044", + "binding_component": "complex", + "complex_lower": "1297203880559577927527/1000000000000000000000000", + "role": "control" + }, + "pr448": { + "kappa": "358867191156973/250000000000000000", + "kappa_decimal": "0.001435468764627892", + "binding_component": "complex", + "complex_lower": "718766148669433/500000000000000000", + "role": "information only" + } + } + }, + "controls": { + "pr472": { + "bit_lower": "323442810173099014031/250000000000000000000000", + "kappa": "646049779721139/500000000000000000", + "published": "research/e8-r715-whole-hosted/EXPECTED.json at 259c684: bit_lower 323442810173099014031/250000000000000000000000, kappa 646049779721139/500000000000000000" + }, + "pr445": { + "bit_lower": "316240894019344628547/250000000000000000000000", + "published": "research/r740-hosted-eleven README at 40ab91d: 1264963576077378514188/10^24" + }, + "pr451": { + "bit_lower": "158442042752174644233/125000000000000000000000", + "published": "PR #451 body at f3a3815: c = 0.001267536342017397153864" + } + } +} diff --git a/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/LICENSE b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/MANIFEST.sha256 b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/MANIFEST.sha256 new file mode 100644 index 0000000000..1213654fbd --- /dev/null +++ b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/MANIFEST.sha256 @@ -0,0 +1,93 @@ +3494ba83280cc86548fe0cc6695c50d23e6b6ffca85aeb1a33337c1196e280cb EXPECTED.json +c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE +5f4b7fcbf99f572be28b6da612ce775363908cdfc7810f7aca167be01c86e49a NOTICE.md +e5212e8058c92a2b02cc12b4e174a65ce1cef7b4d7977ae770e64f5ff91b7204 README.md +03de1d341196cfa8cf1d39f3cc8648b25bb5f39c3c602a728cfbd089e8253ac0 SOURCE-pr370.json +16b1977240ca9acb58fa64572fb4231a423bc10bbf3e7bb30f1c8201fe369ba5 SOURCE-pr381.json +87c659ba932525631a40be14dca28a6a2efade8641f23bb08d6e1567fc991131 SOURCE-pr386.json +4a4f99f5bdb7530a0dcf9433f7f02afbf2abf908e718f7c63ffa5503d4f49693 SOURCE-pr436.json +e6f4a272442bb71ef68aaa3545b271236f9c99297e444fa01c62b0b5fb6a170f SOURCE-pr445.json +c771fa9be492408a78d6d970c839e68c4dfd1b66f4f4a4748e3d12726a43cf27 SOURCE-pr448.json +a639956eec858341987a815b7464ef472505300db754b5f9ac012dd01d18c8df SOURCE-pr451.json +cbdea984a46ab5de354b95e73fd76c1918fdc6676c658398a552772c4dc3dcaf SOURCE-pr458.json +499d861e090c9e646d978dd67890a8e58a9ff6bf08512684e66605179132076b SOURCE-pr471.json +6753bcf50c91806b75dd4dbe3963a79699a614d0dab8ce32b261cc3e76b288b1 SOURCE-pr472.json +2515c4f23dfa22a21913d92597669770f7f44c2a5b3ef069ef68a0c89779a656 SOURCE-pr473.json +9c7c4ea678865a955b0c89f0952927159976fdf55cadc6a488dec5757f03fe7d SOURCE-pr478.json +24e3eab4a985e115adb7f8665a401423e9636e9f16cc4373ec68cc86950445a8 SOURCE-pr483.json +b92f43fbcba3921a1aa37bcb9f05cf5fa612ff708785e05512438a6317bf0867 SOURCE-pr484.json +d1297f9052be4f2496e1ff2a77e4db2c0cdbd7d460d489b4c03e50bf317238ce code/bit/checkers/columns_h.cpp +1c344d18fcd494eeca93e259f10cafae7705780e6592f6dcb35b34752dab9bc2 code/bit/checkers/columns_k.cpp +223a5a07731fc315a90a3e48177796babc155c1d9985c7ae5017eff6af2a0608 code/bit/checkers/gram_frames.py +aaf127c04cb31c406e5b04a63f1ae89369fccde6d8fa7cdda1ed4f32dfc5de63 code/bit/checkers/json.hpp +6c1ef2b24e57781d6951c172a1024fc4300e6fd392c9d6672079a7806ab663b3 code/bit/checkers/legality_h.cpp +8a5999601f917dbb492bb9ae9a344611f18cc7cedc53dc3c76496a369e530eb3 code/bit/export_records.py +11bf9620ca9db16d52d9fe806b814fc9ec9a89c4d7645354d1861d96f6e805ad code/bit/independent/checkword.py +2c63a039f97e3a11ce5a6b83302d4f5beda160c1db14164a5a9b0855aeb19d3c code/bit/independent/interface.py +0ff65aace5da4b57d96235bf830f8f11969322e75134d498aeb70e9753ec6b0d code/bit/independent/mutate.py +3b002c19a5dcca76a5594f2a30fac7c01d2b45fc96b3e7cfbfd8b720f5ffb4e8 code/bit/independent/mutate_mut.py +d6e9f58de3fa41f538516b6227c249d61fb30f0f6843027cc8a07a1a372fa6b6 code/bit/independent/relax.py +b0e75d6550412a7be4017695e6b237392b611bb852ad8ff309d6682c9f166a4e code/bit/mutate_records.py +a9e085ec60d5657cd5d77832e3d95004e81b9f4f249d9e0fc95e345366cb2d2e code/bit/mutate_records_mut.py +6c288f6f234b528c1a7c0a4adfb724e91e0fe6b18c8dffad96af3f973de1829a code/bit/regression/stage_cohort.py +a4c2dd4755f2a45ceda327b36d9ee400c2804893000626ca8ff3f6ee296fd842 code/cited.py +d8a8c13b484d985f0133a5d06de4a78b8477314f922b9f693ba73640b7184d6b code/eleven/adapt.py +c47889a606701ae592374dd82a13cee8c5a4e8449b7facfdad2d90563a30a18c code/eleven/assemble.py +5ad832830c19ec6c904d1b64480f6b1e71c5673fdd38d487d17e179b1d197c09 code/eleven/audit.py +b0b25955875625ed63f82690f83aef976e3e9a978ae6620b23a23fc1207acd46 code/eleven/emit.py +95275473d7f9811011bda760dd0f04de5169c2a6922456dc9a5725a5d671f941 code/eleven/local_audit.py +abb60c35e448e0f94073f38a0352d11249aaf7bb8dbd7352414ae60a1d2b79c3 code/hub/e8-r715-whole-hosted/code/assemble.py +d28062127a9b0d3866a3b79aad98a307233b20ebdb94cfb9f197d726b82ffea5 code/hub/e8-r715-whole-hosted/code/audit.py +98d77cefbc3a76f9f10bd7df3a2590ab88b411f6afe77b5f8d73f1602eb2bef3 code/hub/e8-r715-whole-hosted/code/emit.py +23eda3fe3d774e7f2dbf4dbdd4ff90d69ae7d1762ff95c8629cdc7667aa3fe71 code/hub/e8-r715-whole-hosted/code/local_audit.py +765382d4fefd594e94c8c5826ec6300422ce9f79c816d7f7323ef85e99320f28 code/hub/e8-r715-whole-hosted/data/hosting.json +750221cc66badd0ed0a74e7aad2d59f91f89c107370af21c6d929fbdd4a08a9f code/hub/e8-r715-whole-hosted/data/residual-isometries.json +b2af02f593cd161bea64e6cd793508386914136be519f80726c071697379d5a9 code/hub/e8-r715-whole-hosted/data/word.json.gz +7c6997c455bd55acca3a1603797c34e7733d557c27a7694a1429ff15773a505d code/hub/e8-r740-replica32/code/bank_routes.py +1cb286196c1530d06f50f0997febc5993b388f33464e295611b920ba30a24eeb code/hub/e8-r740-replica32/code/e8core.py +aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098 code/hub/e8-r740-replica32/code/engines/base_two_moment.py +81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482 code/hub/e8-r740-replica32/code/engines/moment.py +c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c code/hub/e8-r740-replica32/code/engines/outer.py +d6ae4a556472d403773cd2117c992bfc10e1187112da1b3893f3fae628a131dd code/hub/e8-r740-replica32/code/tile_m.py +e12ed7ddd13cee101ba74a083b54665fd64d0b122b0bad5b83d817dcc8bae9d8 code/hub/e8-r740-replica32/data/residual-isometries.json +d8d6d3d3f336720302bc40b3c1504fe3c3583a7a8d707bb9bd7b21f85e5e69c6 code/hub/e8-r740-replica32/data/word.json.gz +d8b90cd5d152df3c7c351230863d9e61816ad5e1f21d69bea1a86a5daad559a3 code/hub/idle-axis-hosting/hosting_core.py +ac63ee481f3d75cb9f0658faaa2412db81d55bc44d9f1ff1c0329ce1e75aa0d4 code/hub/r740-hosted-eleven/code/emit.py +9554182d67e434ea84b4430f909a2c400abc755d8487b51454a8e6968e62859d code/hub/r740-hosted-eleven/code/geometry.py +de4a9b9cd797e1a05da56f62cfe725c8728cea3a4aa031b7d1b0a68f869760d6 code/hub/r740-hosted-eleven/code/row_bound.py +52dbbb68e8c147690d15eaa1d952df05d074b0c121885a4159d9f6732f391872 code/hub/r740-hosted-eleven/data/selection.json +ac63ee481f3d75cb9f0658faaa2412db81d55bc44d9f1ff1c0329ce1e75aa0d4 code/hub/r740-hosted-rank149/code/emit.py +b23fda74a7979179e8fd83ee9870c1e232442cc90c05077adaabfe31d050d1e4 code/hub/r740-hosted-rank149/data/residual-isometries.json +4d9c2cf6a3d31a6faa287731e0721cb16601b0bc5c1a186b9645bfb5760ce8db code/hub/r740-hosted-rank149/data/selection.json +41626789888ee070e1b435fa380b10ab9b88e3cf7d8d8e166ecef17269bbcf47 code/hub/r740-hosted-rank149/data/word.json.gz +36eeda3184bd009e89462b65c8725d10860c444f8da8f1f87e5f6e50120011ca code/nine/geometry.py +aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098 code/pricing/base_two_moment.py +81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482 code/pricing/moment.py +c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c code/pricing/outer.py +98cd03bc9582e7bd0ab194c191ea8eea940539e510051443ab9fd3e572a364ab code/pricing/prime_witnesses.py +e28fd87d0e34a6f6f6f1fddb6c4891deac220662c954de855d7aa5a7f9cceca4 code/provenance.py +721d859a6517d665ca84d03ef89668da3aae7433ffb0ee47faf37f2aeb85450e code/skeleton/e8.py +7cdcf48078ed4beacd2e240aa8145e4aa6984558748d07659cb1b252786e073a code/skeleton/gen.py +bb356568fa05e7bfd5fcd9012903611cf742729a99b4dc3a13685355b2678ae3 code/skeleton/geom.py +2b6c12d96f24a4e81f2c807827c2b74cf80037367fc8034e8c871dd5ce008351 code/skeleton/wordkit.py +1fb726ea3818fe0837cceb0dd22a71a0814f064e5e781628104610d6468e0e55 data/bit/bitE8-r865.json.gz +835eb96e147740fc7454f8cfb3dbd34ae89524b1dbd89a61e9288eae8ab6a5b9 data/bit/bitE8mut-r489.json.gz +dce3f4b76aa3f6c3ba826ce556ffa61398b33e81e4d1a226dd2a36ce684fb02e data/complex-b.json +18b42250c3faf6f0df76fcab6c3a483582192ad7bb09cb1985f4b0bb91d67024 data/complex/pr448/EXPECTED.json +a4312cb0c53c2066a28b683a971a41e7d76c5f6d828a96481c3ae7b3c01bb2f3 data/complex/pr458/EXPECTED.json +188f9d1a7450496dbfd8d64381febd20b0597141537eb1a003435297df2d1720 data/complex/pr471/EXPECTED.json +70e515f0a5a2f9508cd030d35a99f90981a6eccc027c9ad5a3c77f5860310910 data/complex/pr473/EXPECTED.json +07bd05d14c71df8925b0b03510b2b337334b73ac425a94e03b2ec34ed2680164 data/complex/pr478/EXPECTED.json +799fa4ab2f785c478c3cdcb6c1c0428a5ce6e3ddbe4a4b2fd88630d811a593f6 data/complex/pr483/EXPECTED.json +0c93018a23bc573c7d155d4786e0c3978e95be0fda974076697939a1a1d8e5be data/complex/pr484/EXPECTED.json +61f790657c465d16d3455f48f90f816797b9ea08bf02dbd0c90d2cf41836257e data/eleven/hosting.json +0fa5b353a0321af2ce4e2045db1d4c2d6418a11663894e2afcdb1eaa1984bddc data/eleven/residual-isometries.json +d69ffe3326140bc541b8f1639e02db43a5835ab8ca02cc742b5bee2bf2ef1ba9 data/skeleton/d4part-pairs.json +f6162bb4d8092bc233700fa7ebc6a0d79f2893135aee18e998369044abb3f44b data/skeleton/plan-skB.json +b09aa45d5651720e10326cde559c863ba3ea45fe2fb6b4aaa3bfaa66a8fcf69f discovery/README.md +a64927c340a4772ce0682b349e0c90c80d1a766000ccf397fb41b36a31929179 discovery/d4part.py +2aaaac18e083d289d4341e734c32571c89c51fefba04b388d407c7372b906dc7 discovery/host_select.py +40e8dea1b4b71c5afd5993625f57bcac089dd2f72dfbc4dbc23ce917e5a61010 discovery/plan.py +420094be2af295eed03a983dd66debbbe9cfb78d8252859f4498a615a0074b99 portable-include/bits/stdc++.h +6023d480f929cdfa4e2f35e361eea003451cd6695af806935a32038b0115abb5 requirements.txt +0f9248aa3611dfe2b5d59dbe992c6f7d21a0cc4f1de2b5ed05a6110191191224 verify.sh diff --git a/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/NOTICE.md b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/NOTICE.md new file mode 100644 index 0000000000..5a0ecdcd2c --- /dev/null +++ b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/NOTICE.md @@ -0,0 +1,69 @@ +# Notice + +Apache-2.0 (`LICENSE`). Prepared by eumemic with substantial Anthropic Claude assistance. + +## New in this package + +- `code/skeleton/`: the D4 quad-skeleton geometry (`geom.py`), the word builder with source registers as gate + destinations (`wordkit.py`), the generator (`gen.py`) and an E8 root-line helper (`e8.py`, #370's Hamming + coordinates and line order). +- `data/skeleton/plan-skB.json` (CP-SAT plan nominated by `discovery/plan.py`), `data/skeleton/d4part-pairs.json` + (the 5-pair D4 partition, found by `discovery/d4part.py`), `data/bit/bitE8mut-r489.json.gz` (the word), + `data/eleven/hosting.json` (frozen hosting selection nominated by `discovery/host_select.py` with #442's integer + programme), `data/eleven/residual-isometries.json` (the frame-zero record of #443's isometry format: every helper of + this word enters at frame zero). +- `code/bit/independent/relax.py` (generates the relaxed #370 checker), `interface.py` (#425 lemma hypotheses), + `mutate_mut.py` (word-level mutants and hypothesis controls), `code/bit/mutate_records_mut.py` (record-level + mutable-source mutants). +- `code/eleven/adapt.py` and the adapted files it checks, `code/eleven/{emit,audit,local_audit}.py` (PR #472's files + plus 19 listed edits: R = 489, package paths, a `--hosting` argument, one frame-zero entrance instead of eleven). +- `code/eleven/assemble.py`: PR #472's bit invoice and pricing arithmetic with R as a parameter, and its outer + assembly run once per cited complex supplier. +- `code/cited.py`, `data/complex-b.json`, `verify.sh`, `EXPECTED.json`, `requirements.txt`, `discovery/`, + `.github/workflows/e8-bit-carrier-skeleton.yml`. + +## Vendored, byte-identical (git blob ids in `SOURCE-pr*.json`, checked by `code/provenance.py`) + +- **PR #370 (Dylan Crow / utcorvusvolat-dotcom, with Anthropic Claude assistance), commit b7fe9cd:** the independent + checker `checkword.py` and its controls `mutate.py`; `export_records.py`, `mutate_records.py`, `stage_cohort.py`; + PR #266's official cohort checkers as generalised there (`legality_h.cpp`, `columns_h.cpp`, NCOPY); nlohmann/json + (`json.hpp`, MIT licence in its header); `gram_frames.py`; PR #315's engines (`code/pricing/`, DreamingOfClouds); + the R865 word `data/bit/bitE8-r865.json.gz` (read only for the E8 label table by the geometry scripts); `LICENSE`. +- **PR #381 (DaysSky, assisted with Claude), commit 00765b2:** `columns_k.cpp`. +- **PR #386 (Zhihao Chen / jacklightChen, with OpenAI Codex assistance), commit dd11cf8:** the nine-stage bit geometry + `code/nine/geometry.py` (parent geometry checked by the eleven-stage audit) and `portable-include/bits/stdc++.h`. +- **PR #436 (eumemic, with Anthropic Claude assistance), commit 8f6b829:** `code/provenance.py`. +- **PR #445 (chafreaky, with OpenAI Codex assistance), commit 40ab91d:** `code/hub/r740-hosted-eleven/code/geometry.py` + (eleven-stage geometry), `row_bound.py` (orthogonal-cover row bound), `emit.py` and `data/selection.json` (used + unchanged for the PR #445 control). +- **PR #451 (chafreaky, with OpenAI Codex assistance), commit f3a3815:** `code/hub/r740-hosted-rank149/`: its + eleven-stage bit emitter (byte-identical to PR #445's), frozen selection, R740 rank149 word and isometries + (PR #451 control). +- **PR #472 (chafreaky, with OpenAI Codex assistance), commit 259c684,** and files its branch carries unchanged: + - `code/hub/e8-r715-whole-hosted/`: PR #472's eight-replica pooled emitter, independent audit, local projector + audit and assembly (the originals of the adapted files), its R715 word, isometries and frozen hosting (used + unchanged for the PR #472 control); + - `code/hub/e8-r740-replica32/`: PR #443 (chafreaky): `bank_routes.py`, `tile_m.py`, `e8core.py`, the R740 rank138 + word and its isometries (PR #445 control); PR #315's engines (DreamingOfClouds) in `code/engines/`; + - `code/hub/idle-axis-hosting/hosting_core.py`: PR #442 (DaysSky, with Anthropic Claude assistance). +- **Receipts (`data/complex/`):** `EXPECTED.json` of PR #484 (DreamingOfClouds, 035845c), PR #471 (Dugongue, + 56b3da6), PR #458 (chafreaky, 44e9eae), PR #448 (higherbeing, 359022b), and of the bit-bound frontier PRs #483 + (Dugongue, 3738c3c), #473 (rohanarun, c7590f1) and #478 (Dugongue, bea1d52). + +The repository-level files `certificates/joint-dual-kappa.json`, `certificates/joint-dual-validation.json` and +`research/joint-dual/SOURCE.json` in this branch are byte-identical to rohanarun's PR #318 (a45747d). They repair +stale root-file pins so the repository's joint check passes; #417, #436 and #439 carry the same repair. + +## Cited, not rebuilt + +Complex coarse savings in `data/complex-b.json`, each bound to its PR's `EXPECTED.json` by `code/cited.py`: +PR #484 (primary; draft, conditional on its Lemmas A and G), PR #471 (the complex supplier of #473, #478 and #483), +PR #458 (the complex supplier of #472) and PR #448 (information only; disputed cross-copy split). No complex +construction is rebuilt here. + +## Ideas used + +PR #425 (Zhihao Chen, with OpenAI Codex assistance): the scalar-interface lemma that permits source registers as +gate destinations when the full-frame cleanup restores them. PR #463 (DreamingOfClouds, with Claude Opus 5.5): the +carrier bound (three registers leave a source's line). PR #433 (icekylinx): source rows written on the bit side. +PR #442 (DaysSky): idle-axis hosting of whole residuals. Jacob Sussman introduced the E8 unit. diff --git a/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/README.md b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/README.md new file mode 100644 index 0000000000..dd0d7c4361 --- /dev/null +++ b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/README.md @@ -0,0 +1,164 @@ +# E8 bit word with source carriers: R = 489 on a D4 quad skeleton + +A new E8 bit supplier (h = 8, v = 120, 9 retained totals) with **489 helpers**; the hub's best bit word had 715 (#463). +Its source registers also carry partial sums, which is PR #425's mutable-basis interface applied on the bit side +(the review point below). Priced by the hub's eleven-stage whole-residual hosted bit pipeline (#445 geometry, +#472 emitter, audit and finite invoice, #442 hosting, #315 engines): + +| quantity | value | +|---|---| +| bit c, eleven stages, eight pooled replicas, every residual whole and hosted (10^-24 grid) | `391360506745414227149/250000000000000000000000` = 0.001565442026981656908596 | +| same pipeline on #472's R715 word (control, reproduced exactly) | 0.001293771240692396056124 | +| five-stage saving from #370's checker (no envelope) | 0.00127887365561970469 | + +The bit side no longer binds: c is 20.6% above the best whole-residual bit supplier (#483, 0.0012982901) and 18.0% +above the largest whole-residual complex b. Through the six-level, 47-inequality outer assembly (#434/#315, as in +#472), every composition is complex-bound: + +| complex supplier (cited from its receipt, not rebuilt) | complex b | κ | +|---|---|---| +| **#484** (DreamingOfClouds; draft, conditional on its Lemmas A and G) | `663394767670133/5·10^17` = 0.001326789535 | **`662515748707749/500000000000000000` = 0.001325031497415498** | +| #471 (Dugongue), the complex supplier of #473, #478 and #483 | `1305231506267591/10^18` | `260706019542937/200000000000000000` = 0.001303530097714685 | +| #458 (chafreaky), the complex supplier of #472 | `1297203880559577927527/10^24` | `323880830669511/250000000000000000` = 0.001295523322678044 | + +The best whole-residual κ on the hub when this was prepared is #483's 0.001296606691405309, bit-bound with +#471's complex b. With #484's supplier this word gives +2.19% over it; with #471's supplier, +0.53%. Each κ above +is the complex cap of its supplier: any bit word with c above b gives the same value. The #484 value inherits that +draft's two lemmas as review points. + +Information only, not a claim: #448's cross-copy complex supplier (b = `718766148669433/5·10^17` = 0.001437532) +would give κ = `358867191156973/250000000000000000` = 0.001435468764627892, complex-bound. That number rests on +#448's cross-family residual split, which #451 disputes (research/cross-family-residual-obstruction; the author's +rebuttal is on #451's thread). + +## The word + +`data/bit/bitE8mut-r489.json.gz` is rebuilt byte-for-byte by `code/skeleton/gen.py` from the frozen plan +`data/skeleton/plan-skB.json` and the D4 partition `data/skeleton/d4part-pairs.json`. Format: bitE8/1 (#370), with +gates allowed to write source registers. + +- **Partition.** The 120 root lines split into 10 D4 sub-root systems (12 lines each), in 5 orthogonally + complementary pairs. Each block has 3 orthogonal 4-frames: 30 four-frames and 180 cells (a cell is a pair of lines + in one 4-frame; it spans 2 dimensions and contains exactly those 2 lines). +- **Sources.** A fixed matching splits each 4-frame into two matching cells and four cross cells. A source stays in + its matching cell and two carriers copy it at its line into its two cross cells: three branches per source. Three + is the minimum: s⊥ (an E7) is a spherical 4-design, so two hyperplane sections do not cover it (the carrier bound of + #463). +- **Cells and quads.** Each cell delivers its sum to its two quads and keeps single lines: a cross cell uses its + two branches and one empty register, a matching cell its two sources and two empty registers. A quad is a + 4-dimensional D4 frame made of 6 cells from 6 blocks (3 complementary block pairs); there are 60. A butterfly on + the 6 delivered cell sums gives 6 outputs S + u_H, one per D6 the quad feeds (S is the quad's sum; u_H is the + owner D6's d-cell, its Q-cell or both). +- **Tops.** Target t is reached through the three D6 frames {t, e}⊥ (e the other lines of its 4-frame). At the D6 + shared with its matching partner it reads two quad outputs and a Q-delivery; at t⊥ it reads one register from each + of its two other D6 frames. +- **Q-nodes (the source writes).** For each block, its 12 sources (all sitting in matching cells) undergo one + invertible F2 transform at the block's D4 frame. It produces the 6 Q-deliveries read by the complementary block's + targets and 6 leftovers. These are the only gates that write sources: 577 gates, all at block D4 frames, each + reading one other source; 117 of the 120 source registers are written. +- **Totals and cleanup.** The 9 decoder totals of #370 are collected at the full frame on 9 fresh registers from + registers that are no longer needed. The cleanup C is the literal reverse of every source and helper gate of A and + B at the full frame, so every source and helper is restored; D is #370's frame-zero dirt compensation. +- **Count.** 120 sources, 240 carriers, 240 cell registers, 9 totals: R = 489. Local paid histogram + {1:1200, 2:1440, 4:180, 6:120, 8:18}, rank mass 5664 = 8R + 72 + 240·7. + +## Review point: source registers as gate destinations + +PR #370's independent checker contains one assertion this word does not meet: "x registers are never destinations". +PR #425's scalar-interface lemma (Zhihao Chen) shows the assertion is a sufficient condition, not a necessary one: +if no target feeds a source or helper register, the raw word is z' = U z, y' = V y + J x + K s; a frame-zero +preconditioner (here D) and U⁻¹ at the common full frame after the last climb (here C) give exactly +(x, s, y) → (x, s, y + x). #425 uses this with sources carrying packets below the full frame on the complex side; +#433 (icekylinx) already wrote source rows on the bit side, at the full frame only (559 XORs in its R758 word). +This word writes sources below the full frame (block D4 frames), as #425's packets do. + +What the package checks about it: + +- `code/bit/independent/relax.py` generates the relaxed checker from #370's pinned file by removing exactly that + assertion (it counts such gates instead). Every other check is unchanged, including the exact F2 replay on all + 729 columns, which requires every source to end holding exactly its own column. The stock file is run as well and + must refuse the word with "x register written". +- `interface.py` checks the lemma's hypotheses directly: no target feeds a source or helper; D writes only targets + from helpers at frame zero; C acts only at the full frame and is the literal reverse of the source and helper gates + of A and B; B writes only targets. +- Mutants aimed at the interface are rejected: dropping a source cleanup gate, corrupting a packet that targets + read while keeping every source restored, leaving a source unrestored, moving a source write below the source's + frame, dropping a source write (relaxed checker); the same three record-level mutants against both official + column checkers; two F2-neutral edits in which a target feeds a source or a helper (accepted by the F2 checker, + rejected by `interface.py`). +- The official cohort checkers (`legality_h`, `columns_h`, `columns_k`) treat every register alike and accept the + word unchanged. In the hub's bit address realization (#472's PROOF.md, "Shared physical labels") the pullback of + D_F on F2-valued streams does not depend on whether a register is called a source, helper or target, so the + common-frame argument covers source registers as it covers helpers. The mutable-basis realization stays a listed + conditional interface, as in #472, #473 and #478. + +## Checks (`verify.sh`) + +0. Manifest; 50 vendored files byte-identical to their PRs (git blob ids, `SOURCE-pr*.json`); the adapted hub + files equal #472's files plus the listed edits (`code/eleven/adapt.py --check`); cited complex b values equal + their PRs' own receipts (`code/cited.py`). +1. The word rebuilt from the frozen plan equals the shipped word. +2. #370's checker: the stock file refuses; the relaxed copy passes (legality, exact F2 on 729 columns, 671 frames + with positive Gram determinants, primes {2}, five-stage price); `interface.py`; 11 word-level mutants and 2 + hypothesis controls. +3. Official checkers: legality (NCOPY = 9; 33,990 ADDs, rank mass 5,664), five-stage formal columns (969 columns, + prefix payload 100 bits < 104), eleven-stage formal columns (#381's `columns_k`, KPAIRS = 5: 1,689 columns, + 2,880 bridge additions, 24/24 omitted-bridge controls), the KPAIRS = 2 regression, #370's 6 record-level + mutants and 3 mutable-source record mutants. +4. Exact Gram determinants and prime witnesses on all 672 frames. +5. Eleven-stage whole-residual hosting: #386 nine-stage geometry (parent of the audit), #445 eleven-stage geometry, + #472's emitter and independent audit with R = 489 (all 43,032 helper residuals hosted whole on idle data + families of the eight pooled replicas, 6,579 unbanked scalar columns restored, 24 omitted bridge shears + rejected, 22 template mutations rejected, 3,252,216 renamed instructions), then #472's bit invoice and both + moment engines, and the outer assembly per cited supplier (#484, #471, #458; #448 for information). +6. Controls through the unmodified hub files: #472's R715 word reproduces c = 0.001293771240692396056124 and, + with #458's b, κ = 0.001292099559442278 (#472's published values); #445's R740 word through #445's emitter + reproduces c = 0.001264963576077378514188, and #451's R740 rank149 word through #451's emitter (byte-identical to + #445's) reproduces c = 0.001267536342017397153864. +7. Every number above against `EXPECTED.json`. + +```sh +python -m pip install -r research/e8-bit-carrier-skeleton/requirements.txt +bash research/e8-bit-carrier-skeleton/verify.sh /absolute/new/output +``` + +Python 3.11+, numpy, sympy, a C++17 compiler (`CXX`) and Boost headers (`BOOST_INCLUDE`). About 2 minutes. + +## Finite invoice + +The physical prefix (#472's chronological cancellation-free bound over physical families) is 2,119 bits, charged +at 2,176; the three-level coefficient is 6,411 bits, charged at 6,464. Both are larger than #472's (804/2,496) +because the Q-node butterflies and the totals have long XOR chains; they stay below the hub's precedent (#473 +charges 3,456 and 10,304) and only enter the finite cutoffs. Maximum child 56, three-level halving, row +coefficient 19,431 < 20,161 (#445's orthogonal-cover bound). + +## Bounds for this family (analysis, not run by verify.sh) + +R ≥ 120 for any design (top arrivals; carriers). For tops through consistent D6 triples, at least 14 registers per +4-frame at dimension 6, so R ≥ 300. With three branches per source on this partition, at least 3 registers per cell +(540 at dimension 2), so R ≥ 420. With the totals in phase A, a brute force over all d-parity patterns needs 4 +single-line registers per 4-frame for the targets' parities, and each block's Q-node needs all 4 lines of each of +its 4-frames; no register can do both, and 3-register cells leave only 6 single-line registers per 4-frame. That +gives 20 registers per 4-frame, 600 in all, so R ≥ 480. R = 480 is reached with the totals on leftover registers, +but its prefix payload is 129 bits > 104; nine fresh total registers give R = 489 at 100 bits. + +## Scope + +Conditional on every interface #472's eleven-stage composition retains: the all-size bit/Gaussian compiler, +mutable-basis and target-label realization, whole-call correlated-helper hosting (#442), compressed windows, +restored work, common grid and tape, precision, row and analytic contracts. Complex savings are cited from their +PRs' receipts, not rebuilt; the primary κ also rests on #484's Lemmas A and G. The hosting selection is a frozen nomination of #442's integer programme +(`discovery/host_select.py`) and the plan a CP-SAT nomination (`discovery/plan.py`); neither is claimed optimal. +No unconditional multiplication theorem, Lean proof or κ = 1 result is claimed. + +## Credits + +Zhihao Chen (#425: the mutable-basis interface lemma; #386: nine-stage geometry); DreamingOfClouds (#463: the +carrier bound; #315: moment engines; #484: the primary complex supplier); DaysSky (#442: idle-axis hosting; #381: `columns_k`); chafreaky (#445, #451, +#472: eleven-stage geometry, row bound, pooled whole hosting, emitter, audit and invoice; #443's bank routes; +#458's complex supplier); Dylan Crow (#370: bitE8/1 format, independent checker, generalised official checkers); +icekylinx (#433: source rows written on the bit side); Dugongue (#471: complex supplier; #483: current +whole-residual frontier); higherbeing (#448, information only); eumemic (#436: R740 and the provenance tooling); Jacob Sussman (the E8 unit). Details in +`NOTICE.md`. + +Prepared by eumemic with substantial Anthropic Claude assistance. Apache-2.0 (`LICENSE`). diff --git a/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr370.json b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr370.json new file mode 100644 index 0000000000..1b30f277af --- /dev/null +++ b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr370.json @@ -0,0 +1,69 @@ +{ + "schema": "source-pins/1", + "source": "https://github.com/CrocSwap/integer-mult-bounds/pull/370", + "head_repository": "utcorvusvolat-dotcom/e8-bit-kappa-8.7548e-4", + "commit": "b7fe9cdf2da009c947ff6b334c562bc190b30373", + "note": "PR #370 (Dylan Crow / utcorvusvolat-dotcom, with Anthropic Claude assistance): independent checker and its word-level controls, record exporter and record-level controls, PR #266's official cohort checkers as generalised there (NCOPY), Gram/prime-witness checker, PR #315's engines (DreamingOfClouds) as vendored there, the E8 label table (via its R865 word), LICENSE. Every file listed has, in this package, the git blob id it has at the commit above (git ls-tree -r -- ).", + "identical": { + "LICENSE": { + "source_path": "research/e8-bit/LICENSE", + "blob": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64" + }, + "code/bit/independent/checkword.py": { + "source_path": "research/e8-bit/code/bit/independent/checkword.py", + "blob": "da4e0fe05067184d4dab1e130ae1384c1fa983f5" + }, + "code/bit/independent/mutate.py": { + "source_path": "research/e8-bit/code/bit/independent/mutate.py", + "blob": "eba592fd468e0d7e7e5100fe99da6eb548c5906b" + }, + "code/bit/export_records.py": { + "source_path": "research/e8-bit/code/bit/export_records.py", + "blob": "3632d370486a02f5456f7643ced03f8c925b2350" + }, + "code/bit/mutate_records.py": { + "source_path": "research/e8-bit/code/bit/mutate_records.py", + "blob": "6794516f665d36eac189894e350a5ad01113cb4c" + }, + "code/bit/regression/stage_cohort.py": { + "source_path": "research/e8-bit/code/bit/regression/stage_cohort.py", + "blob": "f6d7afe3e623208c4207b6a683a1e3e49249e31c" + }, + "code/bit/checkers/legality_h.cpp": { + "source_path": "research/e8-bit/code/bit/checkers/legality_h.cpp", + "blob": "cb1233c7e96b1aa8bbf4d2e4165d75ab0dca64b9" + }, + "code/bit/checkers/columns_h.cpp": { + "source_path": "research/e8-bit/code/bit/checkers/columns_h.cpp", + "blob": "00c5a3a5d81d083582f60f33dd2e7bea5049c37f" + }, + "code/bit/checkers/json.hpp": { + "source_path": "research/e8-bit/code/bit/checkers/json.hpp", + "blob": "82d69f7c5d044c9887c96b90c97f5639083ecd14" + }, + "code/bit/checkers/gram_frames.py": { + "source_path": "research/e8-bit/code/bit/checkers/gram_frames.py", + "blob": "b740d47295c02692260d7cc01874a49fe48f78ab" + }, + "code/pricing/moment.py": { + "source_path": "research/e8-bit/code/pricing/moment.py", + "blob": "7d697cb45203fe72d97037403d6da41f71f3b7fd" + }, + "code/pricing/base_two_moment.py": { + "source_path": "research/e8-bit/code/pricing/base_two_moment.py", + "blob": "14a90fa0e788217856f070382c9e61bd7c603c61" + }, + "code/pricing/outer.py": { + "source_path": "research/e8-bit/code/pricing/outer.py", + "blob": "43007488ad2c43187c77cc6798beff8b1cd76ad2" + }, + "code/pricing/prime_witnesses.py": { + "source_path": "research/e8-bit/code/pricing/prime_witnesses.py", + "blob": "7f16d930302ae879c562dd58e085d9747fcac077" + }, + "data/bit/bitE8-r865.json.gz": { + "source_path": "research/e8-bit/data/bit/bitE8-r865.json.gz", + "blob": "8bec1751f7e33c3a1e4673ef5dbc34d6f205321e" + } + } +} diff --git a/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr381.json b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr381.json new file mode 100644 index 0000000000..fb0b0edd13 --- /dev/null +++ b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr381.json @@ -0,0 +1,13 @@ +{ + "schema": "source-pins/1", + "source": "https://github.com/CrocSwap/integer-mult-bounds/pull/381", + "head_repository": "DaysSky/integer-mult-bounds", + "commit": "00765b291d0f924f337298eb1e2930cb0878b95e", + "note": "PR #381 (DaysSky, assisted with Claude): the B_K formal-columns checker columns_k.cpp (KPAIRS). Every file listed has, in this package, the git blob id it has at the commit above (git ls-tree -r -- ).", + "identical": { + "code/bit/checkers/columns_k.cpp": { + "source_path": "research/e8-nine-stage-kappa/code/bit/checkers/columns_k.cpp", + "blob": "42bb232fbec4de703e70cc13dc2f39a3b43a3a01" + } + } +} diff --git a/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr386.json b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr386.json new file mode 100644 index 0000000000..3744861904 --- /dev/null +++ b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr386.json @@ -0,0 +1,17 @@ +{ + "schema": "source-pins/1", + "source": "https://github.com/CrocSwap/integer-mult-bounds/pull/386", + "head_repository": "jacklightChen/integer-mult-bounds", + "commit": "dd11cf8069554f0333afde398f12a56c3a7c29dd", + "note": "PR #386 (Zhihao Chen / jacklightChen, with OpenAI Codex assistance): compressed nine-stage bit geometry (used here only as the parent geometry of the eleven-stage audit) and the portable bits/stdc++.h. Every file listed has, in this package, the git blob id it has at the commit above (git ls-tree -r -- ).", + "identical": { + "portable-include/bits/stdc++.h": { + "source_path": "research/e8-bit-complex-nine/portable-include/bits/stdc++.h", + "blob": "fc5664e929d9a81d9b4926bee049a93330be86ec" + }, + "code/nine/geometry.py": { + "source_path": "research/e8-bit-complex-nine/geometry.py", + "blob": "91594e0223e8fac49162b5aef834ffaa8e94a254" + } + } +} diff --git a/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr436.json b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr436.json new file mode 100644 index 0000000000..f190527ae1 --- /dev/null +++ b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr436.json @@ -0,0 +1,13 @@ +{ + "schema": "source-pins/1", + "source": "https://github.com/CrocSwap/integer-mult-bounds/pull/436", + "head_repository": "eumemic/integer-mult-bounds", + "commit": "8f6b8297b08ad863940d5168a2db5402fad3690f", + "note": "PR #436 (eumemic, with Anthropic Claude assistance): the provenance checker. Every file listed has, in this package, the git blob id it has at the commit above (git ls-tree -r -- ).", + "identical": { + "code/provenance.py": { + "source_path": "research/e8-bit-elimination-reuse/code/provenance.py", + "blob": "9bfcb106230e454d9405ce5eb42dd2218d905ea6" + } + } +} diff --git a/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr445.json b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr445.json new file mode 100644 index 0000000000..ae29de391a --- /dev/null +++ b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr445.json @@ -0,0 +1,25 @@ +{ + "schema": "source-pins/1", + "source": "https://github.com/CrocSwap/integer-mult-bounds/pull/445", + "head_repository": "chafreaky/integer-mult-bounds", + "commit": "40ab91daf2b5e87fc4071dedae1699d5d7e7cecc", + "note": "PR #445 (chafreaky, with OpenAI Codex assistance): eleven-stage compressed bit geometry, elementary orthogonal-cover row bound, and its eleven-stage emitter and frozen hosting selection (used unchanged for the PR #445 R740 control). Every file listed has, in this package, the git blob id it has at the commit above (git ls-tree -r -- ).", + "identical": { + "code/hub/r740-hosted-eleven/code/geometry.py": { + "source_path": "research/r740-hosted-eleven/code/geometry.py", + "blob": "b4ad5074014dc00a01143910eb1cd27fafe0e15c" + }, + "code/hub/r740-hosted-eleven/code/row_bound.py": { + "source_path": "research/r740-hosted-eleven/code/row_bound.py", + "blob": "11d3c0d48e4ea5a02ac3b6689f3c7d36f2972eb8" + }, + "code/hub/r740-hosted-eleven/code/emit.py": { + "source_path": "research/r740-hosted-eleven/code/emit.py", + "blob": "5ff0de0d6f088ac95e25a2a7aed8653e8cd0333e" + }, + "code/hub/r740-hosted-eleven/data/selection.json": { + "source_path": "research/r740-hosted-eleven/data/selection.json", + "blob": "8e548e5a9204a909d539ba36b866804b256d4c2b" + } + } +} diff --git a/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr448.json b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr448.json new file mode 100644 index 0000000000..3648ab3692 --- /dev/null +++ b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr448.json @@ -0,0 +1,13 @@ +{ + "schema": "source-pins/1", + "source": "https://github.com/CrocSwap/integer-mult-bounds/pull/448", + "head_repository": "higherbeing/integer-mult-bounds", + "commit": "359022bcd71143e45d48def0dd005bf67f339aa7", + "note": "PR #448: its EXPECTED.json receipt (cited complex b). Every file listed has, in this package, the git blob id it has at the commit above (git ls-tree -r -- ).", + "identical": { + "data/complex/pr448/EXPECTED.json": { + "source_path": "research/cross-copy-hosting/EXPECTED.json", + "blob": "1574e6488b6fc59191ae49fcc0c089e48b196fbd" + } + } +} diff --git a/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr451.json b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr451.json new file mode 100644 index 0000000000..fbd9881e09 --- /dev/null +++ b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr451.json @@ -0,0 +1,25 @@ +{ + "schema": "source-pins/1", + "source": "https://github.com/CrocSwap/integer-mult-bounds/pull/451", + "head_repository": "chafreaky/integer-mult-bounds", + "commit": "f3a38153678b55063fc005901cc968266166507d", + "note": "PR #451 (chafreaky, with OpenAI Codex assistance): its eleven-stage bit emitter (byte-identical to PR #445's), frozen hosting selection, R740 rank149 word and residual isometries, used unchanged for the PR #451 control. Every file listed has, in this package, the git blob id it has at the commit above (git ls-tree -r -- ).", + "identical": { + "code/hub/r740-hosted-rank149/code/emit.py": { + "source_path": "research/r740-hosted-rank149/code/emit.py", + "blob": "5ff0de0d6f088ac95e25a2a7aed8653e8cd0333e" + }, + "code/hub/r740-hosted-rank149/data/selection.json": { + "source_path": "research/r740-hosted-rank149/data/selection.json", + "blob": "c57069f7385c3b6aff4fe3c73c0a21bae727c76f" + }, + "code/hub/r740-hosted-rank149/data/word.json.gz": { + "source_path": "research/r740-hosted-rank149/data/word.json.gz", + "blob": "3c8489a29f0de2cad7dafaddc340a1ff197d5172" + }, + "code/hub/r740-hosted-rank149/data/residual-isometries.json": { + "source_path": "research/r740-hosted-rank149/data/residual-isometries.json", + "blob": "ec8b4131d203d7a288ca078ca559f922d38fe9d2" + } + } +} diff --git a/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr458.json b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr458.json new file mode 100644 index 0000000000..c36c74cbea --- /dev/null +++ b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr458.json @@ -0,0 +1,13 @@ +{ + "schema": "source-pins/1", + "source": "https://github.com/CrocSwap/integer-mult-bounds/pull/458", + "head_repository": "chafreaky/integer-mult-bounds", + "commit": "44e9eae8287951c1e6dbbd3c553f5743fe2240b0", + "note": "PR #458: its EXPECTED.json receipt (cited complex b). Every file listed has, in this package, the git blob id it has at the commit above (git ls-tree -r -- ).", + "identical": { + "data/complex/pr458/EXPECTED.json": { + "source_path": "research/e8-complex-adapted-kernel/EXPECTED.json", + "blob": "e06a17c177eee0e0962c96ea61554239ef38ef4d" + } + } +} diff --git a/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr471.json b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr471.json new file mode 100644 index 0000000000..0dc019cfb1 --- /dev/null +++ b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr471.json @@ -0,0 +1,13 @@ +{ + "schema": "source-pins/1", + "source": "https://github.com/CrocSwap/integer-mult-bounds/pull/471", + "head_repository": "Dugongue/integer-mult-bounds", + "commit": "56b3da6aa1295d37ce43f1753479bfe4737b7ac3", + "note": "PR #471: its EXPECTED.json receipt (cited complex b). Every file listed has, in this package, the git blob id it has at the commit above (git ls-tree -r -- ).", + "identical": { + "data/complex/pr471/EXPECTED.json": { + "source_path": "research/e8-tensor-normalization/EXPECTED.json", + "blob": "ed1e72239ebebdbfad847fb817e5546f980c1d8d" + } + } +} diff --git a/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr472.json b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr472.json new file mode 100644 index 0000000000..31acb027ec --- /dev/null +++ b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr472.json @@ -0,0 +1,73 @@ +{ + "schema": "source-pins/1", + "source": "https://github.com/CrocSwap/integer-mult-bounds/pull/472", + "head_repository": "chafreaky/integer-mult-bounds", + "commit": "259c68488b7aa8a14cf3fcae7fc499381c9bf729", + "note": "PR #472 (chafreaky, with OpenAI Codex assistance) and the files its branch carries unchanged: research/e8-r715-whole-hosted (PR #472: eight-replica pooled whole-residual emitter, independent audit, local projector audit, assembly, R715 word, isometries, frozen hosting); research/e8-r740-replica32 (PR #443, chafreaky: bank routes, tiling, engine wrapper, the R740 rank138 word and its isometries; PR #315 engines by DreamingOfClouds); research/idle-axis-hosting/hosting_core.py (PR #442, DaysSky). Every file listed has, in this package, the git blob id it has at the commit above (git ls-tree -r -- ).", + "identical": { + "code/hub/e8-r740-replica32/code/bank_routes.py": { + "source_path": "research/e8-r740-replica32/code/bank_routes.py", + "blob": "9e43a876664a26899762f3b8e9a582e684a3650a" + }, + "code/hub/e8-r740-replica32/code/tile_m.py": { + "source_path": "research/e8-r740-replica32/code/tile_m.py", + "blob": "cd5fd9b5399f5e7afe5d2a95bd3504bd543c0d60" + }, + "code/hub/e8-r740-replica32/code/e8core.py": { + "source_path": "research/e8-r740-replica32/code/e8core.py", + "blob": "78983b368715e89fe8524a6dd2c13585d2b5394e" + }, + "code/hub/e8-r740-replica32/code/engines/moment.py": { + "source_path": "research/e8-r740-replica32/code/engines/moment.py", + "blob": "7d697cb45203fe72d97037403d6da41f71f3b7fd" + }, + "code/hub/e8-r740-replica32/code/engines/base_two_moment.py": { + "source_path": "research/e8-r740-replica32/code/engines/base_two_moment.py", + "blob": "14a90fa0e788217856f070382c9e61bd7c603c61" + }, + "code/hub/e8-r740-replica32/code/engines/outer.py": { + "source_path": "research/e8-r740-replica32/code/engines/outer.py", + "blob": "43007488ad2c43187c77cc6798beff8b1cd76ad2" + }, + "code/hub/e8-r740-replica32/data/word.json.gz": { + "source_path": "research/e8-r740-replica32/data/word.json.gz", + "blob": "85390b07e4747feddbf2e16f94b5e0a8a308c191" + }, + "code/hub/e8-r740-replica32/data/residual-isometries.json": { + "source_path": "research/e8-r740-replica32/data/residual-isometries.json", + "blob": "9b8b35cb1528a978e209e1098864cae48c57fd93" + }, + "code/hub/idle-axis-hosting/hosting_core.py": { + "source_path": "research/idle-axis-hosting/hosting_core.py", + "blob": "68b536daa9e6546c0aa046934bf840aaa3c3fde3" + }, + "code/hub/e8-r715-whole-hosted/code/emit.py": { + "source_path": "research/e8-r715-whole-hosted/code/emit.py", + "blob": "df74ad698a98419e828b37d4dfd7c036fc49a890" + }, + "code/hub/e8-r715-whole-hosted/code/audit.py": { + "source_path": "research/e8-r715-whole-hosted/code/audit.py", + "blob": "155b61f2944116423a5be6ae666276e1c1827fe5" + }, + "code/hub/e8-r715-whole-hosted/code/local_audit.py": { + "source_path": "research/e8-r715-whole-hosted/code/local_audit.py", + "blob": "931f884920125b334412f70cf30d9517b084dc7a" + }, + "code/hub/e8-r715-whole-hosted/code/assemble.py": { + "source_path": "research/e8-r715-whole-hosted/code/assemble.py", + "blob": "cd60b4bcfae515fccd7f21fd1ff5a7114a132eb9" + }, + "code/hub/e8-r715-whole-hosted/data/word.json.gz": { + "source_path": "research/e8-r715-whole-hosted/data/word.json.gz", + "blob": "f7d55b8bd45d385011ced25e632a3d922bb77bba" + }, + "code/hub/e8-r715-whole-hosted/data/residual-isometries.json": { + "source_path": "research/e8-r715-whole-hosted/data/residual-isometries.json", + "blob": "5864e4d680035401d53d32adab0369046d80b171" + }, + "code/hub/e8-r715-whole-hosted/data/hosting.json": { + "source_path": "research/e8-r715-whole-hosted/data/hosting.json", + "blob": "381fb06ccbe055f4fbdc7544dcf8c0bae8f96701" + } + } +} diff --git a/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr473.json b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr473.json new file mode 100644 index 0000000000..821caf8f07 --- /dev/null +++ b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr473.json @@ -0,0 +1,13 @@ +{ + "schema": "source-pins/1", + "source": "https://github.com/CrocSwap/integer-mult-bounds/pull/473", + "head_repository": "rohanarun/integer-mult-bounds", + "commit": "c7590f1d861f0eaae725cc79901445385aab9125", + "note": "PR #473: its EXPECTED.json receipt (cited complex b; frontier kappa). Every file listed has, in this package, the git blob id it has at the commit above (git ls-tree -r -- ).", + "identical": { + "data/complex/pr473/EXPECTED.json": { + "source_path": "research/r715-replica84-complex79/EXPECTED.json", + "blob": "45ee9fde7fdf6b19b6303372068977201b4ef61c" + } + } +} diff --git a/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr478.json b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr478.json new file mode 100644 index 0000000000..608323ccbe --- /dev/null +++ b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr478.json @@ -0,0 +1,13 @@ +{ + "schema": "source-pins/1", + "source": "https://github.com/CrocSwap/integer-mult-bounds/pull/478", + "head_repository": "Dugongue/integer-mult-bounds", + "commit": "bea1d52fd330c699903f81612ee58be81697d1eb", + "note": "PR #478: its EXPECTED.json receipt (cited complex b; frontier kappa). Every file listed has, in this package, the git blob id it has at the commit above (git ls-tree -r -- ).", + "identical": { + "data/complex/pr478/EXPECTED.json": { + "source_path": "research/tensor-r715-next/EXPECTED.json", + "blob": "77f5805cd8125602e8c50f4eaba1691440c611c2" + } + } +} diff --git a/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr483.json b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr483.json new file mode 100644 index 0000000000..817396d9c8 --- /dev/null +++ b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr483.json @@ -0,0 +1,13 @@ +{ + "schema": "source-pins/1", + "source": "https://github.com/CrocSwap/integer-mult-bounds/pull/483", + "head_repository": "Dugongue/integer-mult-bounds", + "commit": "3738c3ce2d04d6a6c6363408ff9402286f592bc7", + "note": "PR #483: its EXPECTED.json receipt (cited complex b; frontier kappa). Every file listed has, in this package, the git blob id it has at the commit above (git ls-tree -r -- ).", + "identical": { + "data/complex/pr483/EXPECTED.json": { + "source_path": "research/tensor-response-r715/EXPECTED.json", + "blob": "f7ff643cd54a334bf46c82989ba155eb6e69adde" + } + } +} diff --git a/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr484.json b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr484.json new file mode 100644 index 0000000000..76292df851 --- /dev/null +++ b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr484.json @@ -0,0 +1,13 @@ +{ + "schema": "source-pins/1", + "source": "https://github.com/CrocSwap/integer-mult-bounds/pull/484", + "head_repository": "DreamingOfClouds/integer-mult-bounds", + "commit": "035845ce95f31d0a2dcfb42b8c8e13411271fa5f", + "note": "PR #484: its EXPECTED.json receipt (cited complex b). Every file listed has, in this package, the git blob id it has at the commit above (git ls-tree -r -- ).", + "identical": { + "data/complex/pr484/EXPECTED.json": { + "source_path": "research/e8-complex-gauge-kernel/EXPECTED.json", + "blob": "7f93fcbb9f1c2799fd86dd308ec1e6f0ad2a3264" + } + } +} diff --git a/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/bit/checkers/columns_h.cpp b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/bit/checkers/columns_h.cpp new file mode 100644 index 0000000000..00c5a3a5d8 --- /dev/null +++ b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/bit/checkers/columns_h.cpp @@ -0,0 +1,48 @@ +// Generalization (Dylan Crow, with Anthropic Claude assistance): the copied-centre count is the macro NCOPY, defaulting to +// HDIM, so the unmodified PR #346/#352 build (no -DNCOPY) is exactly the original checker. The E8 bit word has 9 +// retained totals at h = 8 (-DNCOPY=9). +#ifndef NCOPY +#define NCOPY HDIM +#endif +#include "json.hpp" +#include +#include +using boost::multiprecision::cpp_int; +#include +#include +#include +#include +#include +#include +#include +using J=nlohmann::json; +struct E{int kind,dst,src,c;}; +void need(bool x,const char*s){if(!x)throw std::runtime_error(s);} +int main(int argc,char**argv){try{ +need(argc==3,"usage RAW6_RECORDS OUTPUT");std::string pre=argv[1];int v=VPORTS,r=RHELP,loc=2*v+r,global=4*v+r,temp=global; +struct Raw{int op,a,b,c,f,z;};std::ifstream f(pre,std::ios::binary|std::ios::ate);size_t sz=f.tellg();need(sz%sizeof(Raw)==0,"stream alignment");std::vectorp(sz/sizeof(Raw));f.seekg(0);f.read((char*)p.data(),sz);std::vectore;std::mapH;for(auto q:p){if(q.op==0){if(q.f)H[q.f]++;}else if(q.op==1)e.push_back({0,q.a,q.b,q.c});else if(q.op==2){H[q.z]++;e.push_back({1,loc,q.a,0});}else if(q.op==3)e.push_back({2,loc,q.a,0});else need(false,"opcode");} +J prefix=J::array();cpp_int largestF=0,largestB=0;for(int rev=0;rev<2;rev++){std::vectornorms(loc+1,1);cpp_int maxrow=1;bool isopen=false;for(size_t z=0;zmaxrow)maxrow=norms[q.dst];}else if(k==1){need(!isopen,"boundcopy");norms[loc]=norms[q.src];isopen=true;}else {need(isopen,"bounderase");norms[loc]=0;isopen=false;}}need(!isopen,"prefix copy closure");if(rev)largestB=maxrow;else largestF=maxrow;prefix.push_back({{"reverse",bool(rev)},{"cancellation_free_signed_row_l1_upper",maxrow.convert_to()},{"bits",boost::multiprecision::msb(maxrow)+1}});} +cpp_int payload=64*largestF*largestF*largestF*largestB*largestB;need(payload<(cpp_int(1)<<104),"payloadfiniteprefix2^104"); +long long copies=0,adds=0,odd=0;bool open=false;int center=-1;long long reverseCopies=0; +for(auto q:e){need(q.kind>=0&&q.kind<=2,"kind");need(q.dst>=0&&q.dst<=loc,"local dst");if(q.kind==0){need(q.src>=0&&q.src<=loc&&q.dst!=q.src,"source distinct");need(q.dst!=loc,"copy immutable");need(q.src!=loc||open,"temp not open");if(open)need(q.dst!=center,"source changes inside copied-center block");adds++;odd+=q.c&1;} +else if(q.kind==1){need(!open&&q.dst==loc&&q.src>=0&&q.srca((size_t)(global+1)*words);auto row=[&](int i){return a.data()+(size_t)i*words;};for(int i=0;i=v&&i<2*v&&w==(size_t)(i-v)/64)want^=1ull<<((i-v)%64);need(x[w]==want,"local defining-decoder full formal column");}}} +if(stage==1||stage==2||stage==4){int b=stage==1?0:stage==2?1:2;for(auto q:bridges[b])for(int i=0;i(std::chrono::steady_clock::now()-t0).count()<<"s\n";} +for(int bank=0;bank<4;bank+=2)for(int i=0;i()},{"payload_prefix_bits",boost::multiprecision::msb(payload)+1},{"new_Q_categories",{28,29}},{"local_raw_H",H},{"negative_controls",controls},{"seconds",std::chrono::duration(std::chrono::steady_clock::now()-t0).count()}};std::ofstream(argv[2])< +#include +using boost::multiprecision::cpp_int; +#include +#include +#include +#include +#include +#include +#include +using J=nlohmann::json; +struct E{int kind,dst,src,c;}; +void need(bool x,const char*s){if(!x)throw std::runtime_error(s);} +int main(int argc,char**argv){try{ +need(argc==3,"usage RAW6_RECORDS OUTPUT");std::string pre=argv[1];int v=VPORTS,r=RHELP,loc=2*v+r,global=2*KPAIRS*v+r,temp=global;const int S=2*KPAIRS+1; +struct Raw{int op,a,b,c,f,z;};std::ifstream f(pre,std::ios::binary|std::ios::ate);size_t sz=f.tellg();need(sz%sizeof(Raw)==0,"stream alignment");std::vectorp(sz/sizeof(Raw));f.seekg(0);f.read((char*)p.data(),sz);std::vectore;std::mapH;for(auto q:p){if(q.op==0){if(q.f)H[q.f]++;}else if(q.op==1)e.push_back({0,q.a,q.b,q.c});else if(q.op==2){H[q.z]++;e.push_back({1,loc,q.a,0});}else if(q.op==3)e.push_back({2,loc,q.a,0});else need(false,"opcode");} +J prefix=J::array();cpp_int largestF=0,largestB=0;for(int rev=0;rev<2;rev++){std::vectornorms(loc+1,1);cpp_int maxrow=1;bool isopen=false;for(size_t z=0;zmaxrow)maxrow=norms[q.dst];}else if(k==1){need(!isopen,"boundcopy");norms[loc]=norms[q.src];isopen=true;}else {need(isopen,"bounderase");norms[loc]=0;isopen=false;}}need(!isopen,"prefix copy closure");if(rev)largestB=maxrow;else largestF=maxrow;prefix.push_back({{"reverse",bool(rev)},{"cancellation_free_signed_row_l1_upper",maxrow.convert_to()},{"bits",boost::multiprecision::msb(maxrow)+1}});} +cpp_int payload=64*largestF*largestF*largestF*largestB*largestB;need(payload<(cpp_int(1)<<104),"payloadfiniteprefix2^104"); +long long copies=0,adds=0,odd=0;bool open=false;int center=-1;long long reverseCopies=0; +for(auto q:e){need(q.kind>=0&&q.kind<=2,"kind");need(q.dst>=0&&q.dst<=loc,"local dst");if(q.kind==0){need(q.src>=0&&q.src<=loc&&q.dst!=q.src,"source distinct");need(q.dst!=loc,"copy immutable");need(q.src!=loc||open,"temp not open");if(open)need(q.dst!=center,"source changes inside copied-center block");adds++;odd+=q.c&1;} +else if(q.kind==1){need(!open&&q.dst==loc&&q.src>=0&&q.src>active;std::vectorbackward;std::vector>>after(S); +auto X=[](int p){return 2*(p-1);};auto Y=[](int p){return 2*(p-1)+1;}; +for(int t=0;t=3&&t%2==1);backward.push_back(b);active.push_back(b?std::array{Y(p),X(p)}:std::array{X(p),Y(p)});} +for(int q=2;q<=KPAIRS;q++){after[2*q-3].push_back({X(q-1),X(q),1});after[2*q-3].push_back({Y(q),Y(q-1),-1}); + after[2*q-2].push_back({Y(q),Y(q-1),1});after[2*q-2].push_back({X(q-1),X(q),-1});} +for(int p=KPAIRS;p>=2;p--){after[S-1].push_back({Y(p-1),Y(p),-1});after[S-1].push_back({X(p),X(p-1),1});} +int nbridges=0;for(auto&a:after)nbridges+=a.size();need(nbridges==6*(KPAIRS-1),"twin bridge count"); +size_t words=(global+63)/64;std::vectora((size_t)(global+1)*words);auto row=[&](int i){return a.data()+(size_t)i*words;};for(int i=0;i=v&&i<2*v&&w==(size_t)(i-v)/64)want^=1ull<<((i-v)%64);need(x[w]==want,"local defining-decoder full formal column");}}} +for(auto q:after[stage])for(int i=0;i(std::chrono::steady_clock::now()-t0).count()<<"s\n";} +for(int bank=0;bank<2*KPAIRS;bank+=2)for(int i=0;ib(2*KPAIRS);for(int z=0;z<2*KPAIRS;z++)b[z]=1u<()},{"payload_prefix_bits",boost::multiprecision::msb(payload)+1},{"new_Q_categories",{28,29}},{"local_raw_H",H},{"negative_controls",controls},{"seconds",std::chrono::duration(std::chrono::steady_clock::now()-t0).count()}};std::ofstream(argv[2])</2 in Construction-A (Hamming) coordinates, integer Gram 2 B G B^t = B B^t +Checks per frame: rank(B) = dim, A.B = 0 and |A| + dim = h (when A given), det(integer Gram) != 0 (exact Bareiss), and +the prime witness: |det| = residual * prod p^e over PR #315's allowed primes with 0 < residual < 2^80. With --new BASE +only frames absent from BASE are checked (prime_new.py's scope); otherwise every frame. +usage: python3 gram_frames.py WORDDIR --gram {triple9,e8ham} --h H [--new BASEDIR] [--positive]""" +import json, sys, argparse, importlib.util, os, collections +ap=argparse.ArgumentParser(); ap.add_argument('word'); ap.add_argument('--gram',required=True); ap.add_argument('--h',type=int,required=True) +ap.add_argument('--new'); ap.add_argument('--positive',action='store_true'); a=ap.parse_args() +HERE=os.path.dirname(os.path.abspath(__file__)) +s=importlib.util.spec_from_file_location('pw',os.path.join(HERE,'..','..','pricing','prime_witnesses.py')); pw=importlib.util.module_from_spec(s); s.loader.exec_module(pw) +def validate_record(row, dimension, determinant, allowed_primes): # PR #315 prime_check.validate_record, verbatim logic + assert type(row['dimension']) is int and type(row['determinant']) is int and type(row['residual']) is int, 'exact integer witness fields' + assert row['dimension'] == dimension and row['determinant'] == determinant != 0, 'exact determinant mismatch or singular basis' + assert 0 < row['residual'] < 2**80, 'retained prime lower bound' + product = row['residual'] + for prime, exponent in row['factors'].items(): + q = int(prime); assert q in allowed_primes and type(exponent) is int and exponent > 0, 'factor shape'; product *= q**exponent + assert product == abs(determinant), 'factor identity' +def gram(B): + if a.gram=='triple9': + s_=list(map(sum,B)); return [[9*sum(x*y for x,y in zip(B[i],B[j]))-s_[i]*s_[j] for j in range(len(B))] for i in range(len(B))] + if a.gram=='e8ham': + return [[sum(x*y for x,y in zip(B[i],B[j])) for j in range(len(B))] for i in range(len(B))] + raise SystemExit('unknown gram') +def rank_int(B): + M=[r[:] for r in B]; r=0 + for c in range(len(M[0]) if M else 0): + p=next((i for i in range(r,len(M)) if M[i][c]!=0),None) + if p is None: continue + M[r],M[p]=M[p],M[r] + for i in range(len(M)): + if i!=r and M[i][c]!=0: x,y=M[r][c],M[i][c]; M[i]=[u*x-w*y for u,w in zip(M[i],M[r])] + r+=1 + return r +fr=json.load(open(a.word+'/frames.json'))['frames'] +old=json.load(open(a.new+'/frames.json'))['frames'] if a.new else {} +keys=[k for k in fr if k not in old] +stats=collections.Counter(); primes=set(); bits=0; nonpos=0 +for k in keys: + B=fr[k]['B']; A=fr[k].get('A',[]); d=len(B); assert fr[k]['dim']==d + assert d==0 or rank_int(B)==d,('basis rank',k) + if A: assert all(sum(x*y for x,y in zip(r,b))==0 for r in A for b in B) and len(A)+d==a.h,('annihilator',k) + M=gram(B) if d else []; det=pw.det(M); assert det!=0,('degenerate frame',k) + if a.positive: # positive-definite ambient form: every leading principal minor positive + for j in range(1,d+1): + if pw.det([r[:j] for r in M[:j]])<=0: nonpos+=1; break + powers,residual=pw.factor_witness(det); row=dict(dimension=d,determinant=det,residual=residual,factors={p:e for p,e in powers.items() if e}) + validate_record(row,d,det,pw.PRIMES); primes.update(map(int,row['factors'])); bits=max(bits,abs(det).bit_length()); stats[d]+=1 +assert nonpos==0 +print('PASS %s Gram: %d frames checked, all nondegenerate%s; prime witnesses valid; max determinant bits %d; primes %s; by dim %s'%( + a.gram,sum(stats.values()),' and positive definite' if a.positive else '',bits,sorted(primes),dict(sorted(stats.items())))) diff --git a/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/bit/checkers/json.hpp b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/bit/checkers/json.hpp new file mode 100644 index 0000000000..82d69f7c5d --- /dev/null +++ b/research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/bit/checkers/json.hpp @@ -0,0 +1,25526 @@ +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + +/****************************************************************************\ + * Note on documentation: The source files contain links to the online * + * documentation of the public API at https://json.nlohmann.me. This URL * + * contains the most recent documentation and should also be applicable to * + * previous versions; documentation for deprecated functions is not * + * removed, but marked deprecated. See "Generate documentation" section in * + * file docs/README.md. * +\****************************************************************************/ + +#ifndef INCLUDE_NLOHMANN_JSON_HPP_ +#define INCLUDE_NLOHMANN_JSON_HPP_ + +#include // all_of, find, for_each +#include // nullptr_t, ptrdiff_t, size_t +#include // hash, less +#include // initializer_list +#ifndef JSON_NO_IO + #include // istream, ostream +#endif // JSON_NO_IO +#include // random_access_iterator_tag +#include // unique_ptr +#include // string, stoi, to_string +#include // declval, forward, move, pair, swap +#include // vector + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +// This file contains all macro definitions affecting or depending on the ABI + +#ifndef JSON_SKIP_LIBRARY_VERSION_CHECK + #if defined(NLOHMANN_JSON_VERSION_MAJOR) && defined(NLOHMANN_JSON_VERSION_MINOR) && defined(NLOHMANN_JSON_VERSION_PATCH) + #if NLOHMANN_JSON_VERSION_MAJOR != 3 || NLOHMANN_JSON_VERSION_MINOR != 12 || NLOHMANN_JSON_VERSION_PATCH != 0 + #warning "Already included a different version of the library!" + #endif + #endif +#endif + +#define NLOHMANN_JSON_VERSION_MAJOR 3 // NOLINT(modernize-macro-to-enum) +#define NLOHMANN_JSON_VERSION_MINOR 12 // NOLINT(modernize-macro-to-enum) +#define NLOHMANN_JSON_VERSION_PATCH 0 // NOLINT(modernize-macro-to-enum) + +#ifndef JSON_DIAGNOSTICS + #define JSON_DIAGNOSTICS 0 +#endif + +#ifndef JSON_DIAGNOSTIC_POSITIONS + #define JSON_DIAGNOSTIC_POSITIONS 0 +#endif + +#ifndef JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON + #define JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON 0 +#endif + +#if JSON_DIAGNOSTICS + #define NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS _diag +#else + #define NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS +#endif + +#if JSON_DIAGNOSTIC_POSITIONS + #define NLOHMANN_JSON_ABI_TAG_DIAGNOSTIC_POSITIONS _dp +#else + #define NLOHMANN_JSON_ABI_TAG_DIAGNOSTIC_POSITIONS +#endif + +#if JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON + #define NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON _ldvcmp +#else + #define NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON +#endif + +#ifndef NLOHMANN_JSON_NAMESPACE_NO_VERSION + #define NLOHMANN_JSON_NAMESPACE_NO_VERSION 0 +#endif + +// Construct the namespace ABI tags component +#define NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(a, b, c) json_abi ## a ## b ## c +#define NLOHMANN_JSON_ABI_TAGS_CONCAT(a, b, c) \ + NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(a, b, c) + +#define NLOHMANN_JSON_ABI_TAGS \ + NLOHMANN_JSON_ABI_TAGS_CONCAT( \ + NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS, \ + NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON, \ + NLOHMANN_JSON_ABI_TAG_DIAGNOSTIC_POSITIONS) + +// Construct the namespace version component +#define NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT_EX(major, minor, patch) \ + _v ## major ## _ ## minor ## _ ## patch +#define NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT(major, minor, patch) \ + NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT_EX(major, minor, patch) + +#if NLOHMANN_JSON_NAMESPACE_NO_VERSION +#define NLOHMANN_JSON_NAMESPACE_VERSION +#else +#define NLOHMANN_JSON_NAMESPACE_VERSION \ + NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT(NLOHMANN_JSON_VERSION_MAJOR, \ + NLOHMANN_JSON_VERSION_MINOR, \ + NLOHMANN_JSON_VERSION_PATCH) +#endif + +// Combine namespace components +#define NLOHMANN_JSON_NAMESPACE_CONCAT_EX(a, b) a ## b +#define NLOHMANN_JSON_NAMESPACE_CONCAT(a, b) \ + NLOHMANN_JSON_NAMESPACE_CONCAT_EX(a, b) + +#ifndef NLOHMANN_JSON_NAMESPACE +#define NLOHMANN_JSON_NAMESPACE \ + nlohmann::NLOHMANN_JSON_NAMESPACE_CONCAT( \ + NLOHMANN_JSON_ABI_TAGS, \ + NLOHMANN_JSON_NAMESPACE_VERSION) +#endif + +#ifndef NLOHMANN_JSON_NAMESPACE_BEGIN +#define NLOHMANN_JSON_NAMESPACE_BEGIN \ + namespace nlohmann \ + { \ + inline namespace NLOHMANN_JSON_NAMESPACE_CONCAT( \ + NLOHMANN_JSON_ABI_TAGS, \ + NLOHMANN_JSON_NAMESPACE_VERSION) \ + { +#endif + +#ifndef NLOHMANN_JSON_NAMESPACE_END +#define NLOHMANN_JSON_NAMESPACE_END \ + } /* namespace (inline namespace) NOLINT(readability/namespace) */ \ + } // namespace nlohmann +#endif + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include // transform +#include // array +#include // forward_list +#include // inserter, front_inserter, end +#include // map +#ifdef JSON_HAS_CPP_17 + #include // optional +#endif +#include // string +#include // tuple, make_tuple +#include // is_arithmetic, is_same, is_enum, underlying_type, is_convertible +#include // unordered_map +#include // pair, declval +#include // valarray + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include // nullptr_t +#include // exception +#if JSON_DIAGNOSTICS + #include // accumulate +#endif +#include // runtime_error +#include // to_string +#include // vector + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include // array +#include // size_t +#include // uint8_t +#include // string + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include // declval, pair +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +// #include + + +NLOHMANN_JSON_NAMESPACE_BEGIN +namespace detail +{ + +template struct make_void +{ + using type = void; +}; +template using void_t = typename make_void::type; + +} // namespace detail +NLOHMANN_JSON_NAMESPACE_END + + +NLOHMANN_JSON_NAMESPACE_BEGIN +namespace detail +{ + +// https://en.cppreference.com/w/cpp/experimental/is_detected +struct nonesuch +{ + nonesuch() = delete; + ~nonesuch() = delete; + nonesuch(nonesuch const&) = delete; + nonesuch(nonesuch const&&) = delete; + void operator=(nonesuch const&) = delete; + void operator=(nonesuch&&) = delete; +}; + +template class Op, + class... Args> +struct detector +{ + using value_t = std::false_type; + using type = Default; +}; + +template class Op, class... Args> +struct detector>, Op, Args...> +{ + using value_t = std::true_type; + using type = Op; +}; + +template class Op, class... Args> +using is_detected = typename detector::value_t; + +template class Op, class... Args> +struct is_detected_lazy : is_detected { }; + +template class Op, class... Args> +using detected_t = typename detector::type; + +template class Op, class... Args> +using detected_or = detector; + +template class Op, class... Args> +using detected_or_t = typename detected_or::type; + +template class Op, class... Args> +using is_detected_exact = std::is_same>; + +template class Op, class... Args> +using is_detected_convertible = + std::is_convertible, To>; + +} // namespace detail +NLOHMANN_JSON_NAMESPACE_END + +// #include + + +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-FileCopyrightText: 2016 - 2021 Evan Nemerson +// SPDX-License-Identifier: MIT + +/* Hedley - https://nemequ.github.io/hedley + * Created by Evan Nemerson + */ + +#if !defined(JSON_HEDLEY_VERSION) || (JSON_HEDLEY_VERSION < 15) +#if defined(JSON_HEDLEY_VERSION) + #undef JSON_HEDLEY_VERSION +#endif +#define JSON_HEDLEY_VERSION 15 + +#if defined(JSON_HEDLEY_STRINGIFY_EX) + #undef JSON_HEDLEY_STRINGIFY_EX +#endif +#define JSON_HEDLEY_STRINGIFY_EX(x) #x + +#if defined(JSON_HEDLEY_STRINGIFY) + #undef JSON_HEDLEY_STRINGIFY +#endif +#define JSON_HEDLEY_STRINGIFY(x) JSON_HEDLEY_STRINGIFY_EX(x) + +#if defined(JSON_HEDLEY_CONCAT_EX) + #undef JSON_HEDLEY_CONCAT_EX +#endif +#define JSON_HEDLEY_CONCAT_EX(a,b) a##b + +#if defined(JSON_HEDLEY_CONCAT) + #undef JSON_HEDLEY_CONCAT +#endif +#define JSON_HEDLEY_CONCAT(a,b) JSON_HEDLEY_CONCAT_EX(a,b) + +#if defined(JSON_HEDLEY_CONCAT3_EX) + #undef JSON_HEDLEY_CONCAT3_EX +#endif +#define JSON_HEDLEY_CONCAT3_EX(a,b,c) a##b##c + +#if defined(JSON_HEDLEY_CONCAT3) + #undef JSON_HEDLEY_CONCAT3 +#endif +#define JSON_HEDLEY_CONCAT3(a,b,c) JSON_HEDLEY_CONCAT3_EX(a,b,c) + +#if defined(JSON_HEDLEY_VERSION_ENCODE) + #undef JSON_HEDLEY_VERSION_ENCODE +#endif +#define JSON_HEDLEY_VERSION_ENCODE(major,minor,revision) (((major) * 1000000) + ((minor) * 1000) + (revision)) + +#if defined(JSON_HEDLEY_VERSION_DECODE_MAJOR) + #undef JSON_HEDLEY_VERSION_DECODE_MAJOR +#endif +#define JSON_HEDLEY_VERSION_DECODE_MAJOR(version) ((version) / 1000000) + +#if defined(JSON_HEDLEY_VERSION_DECODE_MINOR) + #undef JSON_HEDLEY_VERSION_DECODE_MINOR +#endif +#define JSON_HEDLEY_VERSION_DECODE_MINOR(version) (((version) % 1000000) / 1000) + +#if defined(JSON_HEDLEY_VERSION_DECODE_REVISION) + #undef JSON_HEDLEY_VERSION_DECODE_REVISION +#endif +#define JSON_HEDLEY_VERSION_DECODE_REVISION(version) ((version) % 1000) + +#if defined(JSON_HEDLEY_GNUC_VERSION) + #undef JSON_HEDLEY_GNUC_VERSION +#endif +#if defined(__GNUC__) && defined(__GNUC_PATCHLEVEL__) + #define JSON_HEDLEY_GNUC_VERSION JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__) +#elif defined(__GNUC__) + #define JSON_HEDLEY_GNUC_VERSION JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, 0) +#endif + +#if defined(JSON_HEDLEY_GNUC_VERSION_CHECK) + #undef JSON_HEDLEY_GNUC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_GNUC_VERSION) + #define JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_GNUC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_MSVC_VERSION) + #undef JSON_HEDLEY_MSVC_VERSION +#endif +#if defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 140000000) && !defined(__ICL) + #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 10000000, (_MSC_FULL_VER % 10000000) / 100000, (_MSC_FULL_VER % 100000) / 100) +#elif defined(_MSC_FULL_VER) && !defined(__ICL) + #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 1000000, (_MSC_FULL_VER % 1000000) / 10000, (_MSC_FULL_VER % 10000) / 10) +#elif defined(_MSC_VER) && !defined(__ICL) + #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_VER / 100, _MSC_VER % 100, 0) +#endif + +#if defined(JSON_HEDLEY_MSVC_VERSION_CHECK) + #undef JSON_HEDLEY_MSVC_VERSION_CHECK +#endif +#if !defined(JSON_HEDLEY_MSVC_VERSION) + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (0) +#elif defined(_MSC_VER) && (_MSC_VER >= 1400) + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 10000000) + (minor * 100000) + (patch))) +#elif defined(_MSC_VER) && (_MSC_VER >= 1200) + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 1000000) + (minor * 10000) + (patch))) +#else + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_VER >= ((major * 100) + (minor))) +#endif + +#if defined(JSON_HEDLEY_INTEL_VERSION) + #undef JSON_HEDLEY_INTEL_VERSION +#endif +#if defined(__INTEL_COMPILER) && defined(__INTEL_COMPILER_UPDATE) && !defined(__ICL) + #define JSON_HEDLEY_INTEL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, __INTEL_COMPILER_UPDATE) +#elif defined(__INTEL_COMPILER) && !defined(__ICL) + #define JSON_HEDLEY_INTEL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, 0) +#endif + +#if defined(JSON_HEDLEY_INTEL_VERSION_CHECK) + #undef JSON_HEDLEY_INTEL_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_INTEL_VERSION) + #define JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_INTEL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_INTEL_CL_VERSION) + #undef JSON_HEDLEY_INTEL_CL_VERSION +#endif +#if defined(__INTEL_COMPILER) && defined(__INTEL_COMPILER_UPDATE) && defined(__ICL) + #define JSON_HEDLEY_INTEL_CL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER, __INTEL_COMPILER_UPDATE, 0) +#endif + +#if defined(JSON_HEDLEY_INTEL_CL_VERSION_CHECK) + #undef JSON_HEDLEY_INTEL_CL_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_INTEL_CL_VERSION) + #define JSON_HEDLEY_INTEL_CL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_INTEL_CL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_INTEL_CL_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_PGI_VERSION) + #undef JSON_HEDLEY_PGI_VERSION +#endif +#if defined(__PGI) && defined(__PGIC__) && defined(__PGIC_MINOR__) && defined(__PGIC_PATCHLEVEL__) + #define JSON_HEDLEY_PGI_VERSION JSON_HEDLEY_VERSION_ENCODE(__PGIC__, __PGIC_MINOR__, __PGIC_PATCHLEVEL__) +#endif + +#if defined(JSON_HEDLEY_PGI_VERSION_CHECK) + #undef JSON_HEDLEY_PGI_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_PGI_VERSION) + #define JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_PGI_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_SUNPRO_VERSION) + #undef JSON_HEDLEY_SUNPRO_VERSION +#endif +#if defined(__SUNPRO_C) && (__SUNPRO_C > 0x1000) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_C >> 16) & 0xf) * 10) + ((__SUNPRO_C >> 12) & 0xf), (((__SUNPRO_C >> 8) & 0xf) * 10) + ((__SUNPRO_C >> 4) & 0xf), (__SUNPRO_C & 0xf) * 10) +#elif defined(__SUNPRO_C) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_C >> 8) & 0xf, (__SUNPRO_C >> 4) & 0xf, (__SUNPRO_C) & 0xf) +#elif defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x1000) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_CC >> 16) & 0xf) * 10) + ((__SUNPRO_CC >> 12) & 0xf), (((__SUNPRO_CC >> 8) & 0xf) * 10) + ((__SUNPRO_CC >> 4) & 0xf), (__SUNPRO_CC & 0xf) * 10) +#elif defined(__SUNPRO_CC) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_CC >> 8) & 0xf, (__SUNPRO_CC >> 4) & 0xf, (__SUNPRO_CC) & 0xf) +#endif + +#if defined(JSON_HEDLEY_SUNPRO_VERSION_CHECK) + #undef JSON_HEDLEY_SUNPRO_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_SUNPRO_VERSION) + #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_SUNPRO_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION) + #undef JSON_HEDLEY_EMSCRIPTEN_VERSION +#endif +#if defined(__EMSCRIPTEN__) + #define JSON_HEDLEY_EMSCRIPTEN_VERSION JSON_HEDLEY_VERSION_ENCODE(__EMSCRIPTEN_major__, __EMSCRIPTEN_minor__, __EMSCRIPTEN_tiny__) +#endif + +#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK) + #undef JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION) + #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_EMSCRIPTEN_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_ARM_VERSION) + #undef JSON_HEDLEY_ARM_VERSION +#endif +#if defined(__CC_ARM) && defined(__ARMCOMPILER_VERSION) + #define JSON_HEDLEY_ARM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ARMCOMPILER_VERSION / 1000000, (__ARMCOMPILER_VERSION % 1000000) / 10000, (__ARMCOMPILER_VERSION % 10000) / 100) +#elif defined(__CC_ARM) && defined(__ARMCC_VERSION) + #define JSON_HEDLEY_ARM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ARMCC_VERSION / 1000000, (__ARMCC_VERSION % 1000000) / 10000, (__ARMCC_VERSION % 10000) / 100) +#endif + +#if defined(JSON_HEDLEY_ARM_VERSION_CHECK) + #undef JSON_HEDLEY_ARM_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_ARM_VERSION) + #define JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_ARM_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_IBM_VERSION) + #undef JSON_HEDLEY_IBM_VERSION +#endif +#if defined(__ibmxl__) + #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ibmxl_version__, __ibmxl_release__, __ibmxl_modification__) +#elif defined(__xlC__) && defined(__xlC_ver__) + #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, (__xlC_ver__ >> 8) & 0xff) +#elif defined(__xlC__) + #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, 0) +#endif + +#if defined(JSON_HEDLEY_IBM_VERSION_CHECK) + #undef JSON_HEDLEY_IBM_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_IBM_VERSION) + #define JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_IBM_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_VERSION) + #undef JSON_HEDLEY_TI_VERSION +#endif +#if \ + defined(__TI_COMPILER_VERSION__) && \ + ( \ + defined(__TMS470__) || defined(__TI_ARM__) || \ + defined(__MSP430__) || \ + defined(__TMS320C2000__) \ + ) +#if (__TI_COMPILER_VERSION__ >= 16000000) + #define JSON_HEDLEY_TI_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif +#endif + +#if defined(JSON_HEDLEY_TI_VERSION_CHECK) + #undef JSON_HEDLEY_TI_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_VERSION) + #define JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL2000_VERSION) + #undef JSON_HEDLEY_TI_CL2000_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__TMS320C2000__) + #define JSON_HEDLEY_TI_CL2000_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL2000_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL2000_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL2000_VERSION) + #define JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL2000_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL430_VERSION) + #undef JSON_HEDLEY_TI_CL430_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__MSP430__) + #define JSON_HEDLEY_TI_CL430_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL430_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL430_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL430_VERSION) + #define JSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL430_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_ARMCL_VERSION) + #undef JSON_HEDLEY_TI_ARMCL_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && (defined(__TMS470__) || defined(__TI_ARM__)) + #define JSON_HEDLEY_TI_ARMCL_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_ARMCL_VERSION_CHECK) + #undef JSON_HEDLEY_TI_ARMCL_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_ARMCL_VERSION) + #define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_ARMCL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL6X_VERSION) + #undef JSON_HEDLEY_TI_CL6X_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__TMS320C6X__) + #define JSON_HEDLEY_TI_CL6X_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL6X_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL6X_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL6X_VERSION) + #define JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL6X_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL7X_VERSION) + #undef JSON_HEDLEY_TI_CL7X_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__C7000__) + #define JSON_HEDLEY_TI_CL7X_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL7X_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL7X_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL7X_VERSION) + #define JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL7X_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CLPRU_VERSION) + #undef JSON_HEDLEY_TI_CLPRU_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__PRU__) + #define JSON_HEDLEY_TI_CLPRU_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CLPRU_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CLPRU_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CLPRU_VERSION) + #define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CLPRU_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_CRAY_VERSION) + #undef JSON_HEDLEY_CRAY_VERSION +#endif +#if defined(_CRAYC) + #if defined(_RELEASE_PATCHLEVEL) + #define JSON_HEDLEY_CRAY_VERSION JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, _RELEASE_PATCHLEVEL) + #else + #define JSON_HEDLEY_CRAY_VERSION JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, 0) + #endif +#endif + +#if defined(JSON_HEDLEY_CRAY_VERSION_CHECK) + #undef JSON_HEDLEY_CRAY_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_CRAY_VERSION) + #define JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_CRAY_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_IAR_VERSION) + #undef JSON_HEDLEY_IAR_VERSION +#endif +#if defined(__IAR_SYSTEMS_ICC__) + #if __VER__ > 1000 + #define JSON_HEDLEY_IAR_VERSION JSON_HEDLEY_VERSION_ENCODE((__VER__ / 1000000), ((__VER__ / 1000) % 1000), (__VER__ % 1000)) + #else + #define JSON_HEDLEY_IAR_VERSION JSON_HEDLEY_VERSION_ENCODE(__VER__ / 100, __VER__ % 100, 0) + #endif +#endif + +#if defined(JSON_HEDLEY_IAR_VERSION_CHECK) + #undef JSON_HEDLEY_IAR_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_IAR_VERSION) + #define JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_IAR_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TINYC_VERSION) + #undef JSON_HEDLEY_TINYC_VERSION +#endif +#if defined(__TINYC__) + #define JSON_HEDLEY_TINYC_VERSION JSON_HEDLEY_VERSION_ENCODE(__TINYC__ / 1000, (__TINYC__ / 100) % 10, __TINYC__ % 100) +#endif + +#if defined(JSON_HEDLEY_TINYC_VERSION_CHECK) + #undef JSON_HEDLEY_TINYC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TINYC_VERSION) + #define JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TINYC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_DMC_VERSION) + #undef JSON_HEDLEY_DMC_VERSION +#endif +#if defined(__DMC__) + #define JSON_HEDLEY_DMC_VERSION JSON_HEDLEY_VERSION_ENCODE(__DMC__ >> 8, (__DMC__ >> 4) & 0xf, __DMC__ & 0xf) +#endif + +#if defined(JSON_HEDLEY_DMC_VERSION_CHECK) + #undef JSON_HEDLEY_DMC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_DMC_VERSION) + #define JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_DMC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_COMPCERT_VERSION) + #undef JSON_HEDLEY_COMPCERT_VERSION +#endif +#if defined(__COMPCERT_VERSION__) + #define JSON_HEDLEY_COMPCERT_VERSION JSON_HEDLEY_VERSION_ENCODE(__COMPCERT_VERSION__ / 10000, (__COMPCERT_VERSION__ / 100) % 100, __COMPCERT_VERSION__ % 100) +#endif + +#if defined(JSON_HEDLEY_COMPCERT_VERSION_CHECK) + #undef JSON_HEDLEY_COMPCERT_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_COMPCERT_VERSION) + #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_COMPCERT_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_PELLES_VERSION) + #undef JSON_HEDLEY_PELLES_VERSION +#endif +#if defined(__POCC__) + #define JSON_HEDLEY_PELLES_VERSION JSON_HEDLEY_VERSION_ENCODE(__POCC__ / 100, __POCC__ % 100, 0) +#endif + +#if defined(JSON_HEDLEY_PELLES_VERSION_CHECK) + #undef JSON_HEDLEY_PELLES_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_PELLES_VERSION) + #define JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_PELLES_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_MCST_LCC_VERSION) + #undef JSON_HEDLEY_MCST_LCC_VERSION +#endif +#if defined(__LCC__) && defined(__LCC_MINOR__) + #define JSON_HEDLEY_MCST_LCC_VERSION JSON_HEDLEY_VERSION_ENCODE(__LCC__ / 100, __LCC__ % 100, __LCC_MINOR__) +#endif + +#if defined(JSON_HEDLEY_MCST_LCC_VERSION_CHECK) + #undef JSON_HEDLEY_MCST_LCC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_MCST_LCC_VERSION) + #define JSON_HEDLEY_MCST_LCC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_MCST_LCC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_MCST_LCC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_GCC_VERSION) + #undef JSON_HEDLEY_GCC_VERSION +#endif +#if \ + defined(JSON_HEDLEY_GNUC_VERSION) && \ + !defined(__clang__) && \ + !defined(JSON_HEDLEY_INTEL_VERSION) && \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_ARM_VERSION) && \ + !defined(JSON_HEDLEY_CRAY_VERSION) && \ + !defined(JSON_HEDLEY_TI_VERSION) && \ + !defined(JSON_HEDLEY_TI_ARMCL_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL430_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL2000_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL6X_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL7X_VERSION) && \ + !defined(JSON_HEDLEY_TI_CLPRU_VERSION) && \ + !defined(__COMPCERT__) && \ + !defined(JSON_HEDLEY_MCST_LCC_VERSION) + #define JSON_HEDLEY_GCC_VERSION JSON_HEDLEY_GNUC_VERSION +#endif + +#if defined(JSON_HEDLEY_GCC_VERSION_CHECK) + #undef JSON_HEDLEY_GCC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_GCC_VERSION) + #define JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_GCC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_HAS_ATTRIBUTE +#endif +#if \ + defined(__has_attribute) && \ + ( \ + (!defined(JSON_HEDLEY_IAR_VERSION) || JSON_HEDLEY_IAR_VERSION_CHECK(8,5,9)) \ + ) +# define JSON_HEDLEY_HAS_ATTRIBUTE(attribute) __has_attribute(attribute) +#else +# define JSON_HEDLEY_HAS_ATTRIBUTE(attribute) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_GNUC_HAS_ATTRIBUTE +#endif +#if defined(__has_attribute) + #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_HAS_ATTRIBUTE(attribute) +#else + #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_GCC_HAS_ATTRIBUTE +#endif +#if defined(__has_attribute) + #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_HAS_ATTRIBUTE(attribute) +#else + #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE +#endif +#if \ + defined(__has_cpp_attribute) && \ + defined(__cplusplus) && \ + (!defined(JSON_HEDLEY_SUNPRO_VERSION) || JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0)) + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) __has_cpp_attribute(attribute) +#else + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) (0) +#endif + +#if defined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS) + #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS +#endif +#if !defined(__cplusplus) || !defined(__has_cpp_attribute) + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0) +#elif \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_IAR_VERSION) && \ + (!defined(JSON_HEDLEY_SUNPRO_VERSION) || JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0)) && \ + (!defined(JSON_HEDLEY_MSVC_VERSION) || JSON_HEDLEY_MSVC_VERSION_CHECK(19,20,0)) + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) JSON_HEDLEY_HAS_CPP_ATTRIBUTE(ns::attribute) +#else + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE +#endif +#if defined(__has_cpp_attribute) && defined(__cplusplus) + #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute) +#else + #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE +#endif +#if defined(__has_cpp_attribute) && defined(__cplusplus) + #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute) +#else + #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_BUILTIN) + #undef JSON_HEDLEY_HAS_BUILTIN +#endif +#if defined(__has_builtin) + #define JSON_HEDLEY_HAS_BUILTIN(builtin) __has_builtin(builtin) +#else + #define JSON_HEDLEY_HAS_BUILTIN(builtin) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_BUILTIN) + #undef JSON_HEDLEY_GNUC_HAS_BUILTIN +#endif +#if defined(__has_builtin) + #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin) +#else + #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_BUILTIN) + #undef JSON_HEDLEY_GCC_HAS_BUILTIN +#endif +#if defined(__has_builtin) + #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin) +#else + #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_FEATURE) + #undef JSON_HEDLEY_HAS_FEATURE +#endif +#if defined(__has_feature) + #define JSON_HEDLEY_HAS_FEATURE(feature) __has_feature(feature) +#else + #define JSON_HEDLEY_HAS_FEATURE(feature) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_FEATURE) + #undef JSON_HEDLEY_GNUC_HAS_FEATURE +#endif +#if defined(__has_feature) + #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature) +#else + #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_FEATURE) + #undef JSON_HEDLEY_GCC_HAS_FEATURE +#endif +#if defined(__has_feature) + #define JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature) +#else + #define JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_EXTENSION) + #undef JSON_HEDLEY_HAS_EXTENSION +#endif +#if defined(__has_extension) + #define JSON_HEDLEY_HAS_EXTENSION(extension) __has_extension(extension) +#else + #define JSON_HEDLEY_HAS_EXTENSION(extension) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_EXTENSION) + #undef JSON_HEDLEY_GNUC_HAS_EXTENSION +#endif +#if defined(__has_extension) + #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension) +#else + #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_EXTENSION) + #undef JSON_HEDLEY_GCC_HAS_EXTENSION +#endif +#if defined(__has_extension) + #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension) +#else + #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE +#endif +#if defined(__has_declspec_attribute) + #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) __has_declspec_attribute(attribute) +#else + #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE +#endif +#if defined(__has_declspec_attribute) + #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute) +#else + #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE +#endif +#if defined(__has_declspec_attribute) + #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute) +#else + #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_WARNING) + #undef JSON_HEDLEY_HAS_WARNING +#endif +#if defined(__has_warning) + #define JSON_HEDLEY_HAS_WARNING(warning) __has_warning(warning) +#else + #define JSON_HEDLEY_HAS_WARNING(warning) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_WARNING) + #undef JSON_HEDLEY_GNUC_HAS_WARNING +#endif +#if defined(__has_warning) + #define JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning) +#else + #define JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_WARNING) + #undef JSON_HEDLEY_GCC_HAS_WARNING +#endif +#if defined(__has_warning) + #define JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning) +#else + #define JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if \ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \ + defined(__clang__) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,7,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(2,0,1) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,17) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(8,0,0) || \ + (JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) && defined(__C99_PRAGMA_OPERATOR)) + #define JSON_HEDLEY_PRAGMA(value) _Pragma(#value) +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) + #define JSON_HEDLEY_PRAGMA(value) __pragma(value) +#else + #define JSON_HEDLEY_PRAGMA(value) +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_PUSH) + #undef JSON_HEDLEY_DIAGNOSTIC_PUSH +#endif +#if defined(JSON_HEDLEY_DIAGNOSTIC_POP) + #undef JSON_HEDLEY_DIAGNOSTIC_POP +#endif +#if defined(__clang__) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("clang diagnostic push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("clang diagnostic pop") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("GCC diagnostic push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("GCC diagnostic pop") +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH __pragma(warning(push)) + #define JSON_HEDLEY_DIAGNOSTIC_POP __pragma(warning(pop)) +#elif JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("pop") +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,4,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("diag_push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("diag_pop") +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)") +#else + #define JSON_HEDLEY_DIAGNOSTIC_PUSH + #define JSON_HEDLEY_DIAGNOSTIC_POP +#endif + +/* JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ is for + HEDLEY INTERNAL USE ONLY. API subject to change without notice. */ +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ +#endif +#if defined(__cplusplus) +# if JSON_HEDLEY_HAS_WARNING("-Wc++98-compat") +# if JSON_HEDLEY_HAS_WARNING("-Wc++17-extensions") +# if JSON_HEDLEY_HAS_WARNING("-Wc++1z-extensions") +# define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \ + _Pragma("clang diagnostic ignored \"-Wc++17-extensions\"") \ + _Pragma("clang diagnostic ignored \"-Wc++1z-extensions\"") \ + xpr \ + JSON_HEDLEY_DIAGNOSTIC_POP +# else +# define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \ + _Pragma("clang diagnostic ignored \"-Wc++17-extensions\"") \ + xpr \ + JSON_HEDLEY_DIAGNOSTIC_POP +# endif +# else +# define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \ + xpr \ + JSON_HEDLEY_DIAGNOSTIC_POP +# endif +# endif +#endif +#if !defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(x) x +#endif + +#if defined(JSON_HEDLEY_CONST_CAST) + #undef JSON_HEDLEY_CONST_CAST +#endif +#if defined(__cplusplus) +# define JSON_HEDLEY_CONST_CAST(T, expr) (const_cast(expr)) +#elif \ + JSON_HEDLEY_HAS_WARNING("-Wcast-qual") || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +# define JSON_HEDLEY_CONST_CAST(T, expr) (__extension__ ({ \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL \ + ((T) (expr)); \ + JSON_HEDLEY_DIAGNOSTIC_POP \ + })) +#else +# define JSON_HEDLEY_CONST_CAST(T, expr) ((T) (expr)) +#endif + +#if defined(JSON_HEDLEY_REINTERPRET_CAST) + #undef JSON_HEDLEY_REINTERPRET_CAST +#endif +#if defined(__cplusplus) + #define JSON_HEDLEY_REINTERPRET_CAST(T, expr) (reinterpret_cast(expr)) +#else + #define JSON_HEDLEY_REINTERPRET_CAST(T, expr) ((T) (expr)) +#endif + +#if defined(JSON_HEDLEY_STATIC_CAST) + #undef JSON_HEDLEY_STATIC_CAST +#endif +#if defined(__cplusplus) + #define JSON_HEDLEY_STATIC_CAST(T, expr) (static_cast(expr)) +#else + #define JSON_HEDLEY_STATIC_CAST(T, expr) ((T) (expr)) +#endif + +#if defined(JSON_HEDLEY_CPP_CAST) + #undef JSON_HEDLEY_CPP_CAST +#endif +#if defined(__cplusplus) +# if JSON_HEDLEY_HAS_WARNING("-Wold-style-cast") +# define JSON_HEDLEY_CPP_CAST(T, expr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wold-style-cast\"") \ + ((T) (expr)) \ + JSON_HEDLEY_DIAGNOSTIC_POP +# elif JSON_HEDLEY_IAR_VERSION_CHECK(8,3,0) +# define JSON_HEDLEY_CPP_CAST(T, expr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("diag_suppress=Pe137") \ + JSON_HEDLEY_DIAGNOSTIC_POP +# else +# define JSON_HEDLEY_CPP_CAST(T, expr) ((T) (expr)) +# endif +#else +# define JSON_HEDLEY_CPP_CAST(T, expr) (expr) +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wdeprecated-declarations") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warning(disable:1478 1786)") +#elif JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED __pragma(warning(disable:1478 1786)) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(20,7,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1216,1444,1445") +#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1444") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED __pragma(warning(disable:4996)) +#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1444") +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1291,1718") +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && !defined(__cplusplus) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,E_DEPRECATED_ATT,E_DEPRECATED_ATT_MESS)") +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && defined(__cplusplus) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,symdeprecated,symdeprecated2)") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress=Pe1444,Pe1215") +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warn(disable:2241)") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("clang diagnostic ignored \"-Wunknown-pragmas\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("warning(disable:161)") +#elif JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS __pragma(warning(disable:161)) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 1675") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("GCC diagnostic ignored \"-Wunknown-pragmas\"") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS __pragma(warning(disable:4068)) +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(16,9,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 163") +#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 163") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress=Pe161") +#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 161") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-attributes") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("clang diagnostic ignored \"-Wunknown-attributes\"") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("warning(disable:1292)") +#elif JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES __pragma(warning(disable:1292)) +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(19,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES __pragma(warning(disable:5030)) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(20,7,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097,1098") +#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097") +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("error_messages(off,attrskipunsup)") +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(18,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,3,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1173") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress=Pe1097") +#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wcast-qual") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("clang diagnostic ignored \"-Wcast-qual\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("warning(disable:2203 2331)") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("GCC diagnostic ignored \"-Wcast-qual\"") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunused-function") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("clang diagnostic ignored \"-Wunused-function\"") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("GCC diagnostic ignored \"-Wunused-function\"") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(1,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION __pragma(warning(disable:4505)) +#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("diag_suppress 3142") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION +#endif + +#if defined(JSON_HEDLEY_DEPRECATED) + #undef JSON_HEDLEY_DEPRECATED +#endif +#if defined(JSON_HEDLEY_DEPRECATED_FOR) + #undef JSON_HEDLEY_DEPRECATED_FOR +#endif +#if \ + JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DEPRECATED(since) __declspec(deprecated("Since " # since)) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated("Since " #since "; use " #replacement)) +#elif \ + (JSON_HEDLEY_HAS_EXTENSION(attribute_deprecated_with_message) && !defined(JSON_HEDLEY_IAR_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(18,1,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(18,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,3,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DEPRECATED(since) __attribute__((__deprecated__("Since " #since))) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__("Since " #since "; use " #replacement))) +#elif defined(__cplusplus) && (__cplusplus >= 201402L) + #define JSON_HEDLEY_DEPRECATED(since) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since)]]) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since "; use " #replacement)]]) +#elif \ + JSON_HEDLEY_HAS_ATTRIBUTE(deprecated) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) + #define JSON_HEDLEY_DEPRECATED(since) __attribute__((__deprecated__)) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__)) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_PELLES_VERSION_CHECK(6,50,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DEPRECATED(since) __declspec(deprecated) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated) +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DEPRECATED(since) _Pragma("deprecated") + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) _Pragma("deprecated") +#else + #define JSON_HEDLEY_DEPRECATED(since) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) +#endif + +#if defined(JSON_HEDLEY_UNAVAILABLE) + #undef JSON_HEDLEY_UNAVAILABLE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(warning) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_UNAVAILABLE(available_since) __attribute__((__warning__("Not available until " #available_since))) +#else + #define JSON_HEDLEY_UNAVAILABLE(available_since) +#endif + +#if defined(JSON_HEDLEY_WARN_UNUSED_RESULT) + #undef JSON_HEDLEY_WARN_UNUSED_RESULT +#endif +#if defined(JSON_HEDLEY_WARN_UNUSED_RESULT_MSG) + #undef JSON_HEDLEY_WARN_UNUSED_RESULT_MSG +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(warn_unused_result) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_WARN_UNUSED_RESULT __attribute__((__warn_unused_result__)) + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) __attribute__((__warn_unused_result__)) +#elif (JSON_HEDLEY_HAS_CPP_ATTRIBUTE(nodiscard) >= 201907L) + #define JSON_HEDLEY_WARN_UNUSED_RESULT JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard(msg)]]) +#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE(nodiscard) + #define JSON_HEDLEY_WARN_UNUSED_RESULT JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) +#elif defined(_Check_return_) /* SAL */ + #define JSON_HEDLEY_WARN_UNUSED_RESULT _Check_return_ + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) _Check_return_ +#else + #define JSON_HEDLEY_WARN_UNUSED_RESULT + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) +#endif + +#if defined(JSON_HEDLEY_SENTINEL) + #undef JSON_HEDLEY_SENTINEL +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(sentinel) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_SENTINEL(position) __attribute__((__sentinel__(position))) +#else + #define JSON_HEDLEY_SENTINEL(position) +#endif + +#if defined(JSON_HEDLEY_NO_RETURN) + #undef JSON_HEDLEY_NO_RETURN +#endif +#if JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_NO_RETURN __noreturn +#elif \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_NO_RETURN __attribute__((__noreturn__)) +#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L + #define JSON_HEDLEY_NO_RETURN _Noreturn +#elif defined(__cplusplus) && (__cplusplus >= 201103L) + #define JSON_HEDLEY_NO_RETURN JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[noreturn]]) +#elif \ + JSON_HEDLEY_HAS_ATTRIBUTE(noreturn) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,2,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) + #define JSON_HEDLEY_NO_RETURN __attribute__((__noreturn__)) +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) + #define JSON_HEDLEY_NO_RETURN _Pragma("does_not_return") +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_NO_RETURN __declspec(noreturn) +#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,0,0) && defined(__cplusplus) + #define JSON_HEDLEY_NO_RETURN _Pragma("FUNC_NEVER_RETURNS;") +#elif JSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0) + #define JSON_HEDLEY_NO_RETURN __attribute((noreturn)) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0) + #define JSON_HEDLEY_NO_RETURN __declspec(noreturn) +#else + #define JSON_HEDLEY_NO_RETURN +#endif + +#if defined(JSON_HEDLEY_NO_ESCAPE) + #undef JSON_HEDLEY_NO_ESCAPE +#endif +#if JSON_HEDLEY_HAS_ATTRIBUTE(noescape) + #define JSON_HEDLEY_NO_ESCAPE __attribute__((__noescape__)) +#else + #define JSON_HEDLEY_NO_ESCAPE +#endif + +#if defined(JSON_HEDLEY_UNREACHABLE) + #undef JSON_HEDLEY_UNREACHABLE +#endif +#if defined(JSON_HEDLEY_UNREACHABLE_RETURN) + #undef JSON_HEDLEY_UNREACHABLE_RETURN +#endif +#if defined(JSON_HEDLEY_ASSUME) + #undef JSON_HEDLEY_ASSUME +#endif +#if \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_ASSUME(expr) __assume(expr) +#elif JSON_HEDLEY_HAS_BUILTIN(__builtin_assume) + #define JSON_HEDLEY_ASSUME(expr) __builtin_assume(expr) +#elif \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) + #if defined(__cplusplus) + #define JSON_HEDLEY_ASSUME(expr) std::_nassert(expr) + #else + #define JSON_HEDLEY_ASSUME(expr) _nassert(expr) + #endif +#endif +#if \ + (JSON_HEDLEY_HAS_BUILTIN(__builtin_unreachable) && (!defined(JSON_HEDLEY_ARM_VERSION))) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(18,10,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,5) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(10,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_UNREACHABLE() __builtin_unreachable() +#elif defined(JSON_HEDLEY_ASSUME) + #define JSON_HEDLEY_UNREACHABLE() JSON_HEDLEY_ASSUME(0) +#endif +#if !defined(JSON_HEDLEY_ASSUME) + #if defined(JSON_HEDLEY_UNREACHABLE) + #define JSON_HEDLEY_ASSUME(expr) JSON_HEDLEY_STATIC_CAST(void, ((expr) ? 1 : (JSON_HEDLEY_UNREACHABLE(), 1))) + #else + #define JSON_HEDLEY_ASSUME(expr) JSON_HEDLEY_STATIC_CAST(void, expr) + #endif +#endif +#if defined(JSON_HEDLEY_UNREACHABLE) + #if \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) + #define JSON_HEDLEY_UNREACHABLE_RETURN(value) return (JSON_HEDLEY_STATIC_CAST(void, JSON_HEDLEY_ASSUME(0)), (value)) + #else + #define JSON_HEDLEY_UNREACHABLE_RETURN(value) JSON_HEDLEY_UNREACHABLE() + #endif +#else + #define JSON_HEDLEY_UNREACHABLE_RETURN(value) return (value) +#endif +#if !defined(JSON_HEDLEY_UNREACHABLE) + #define JSON_HEDLEY_UNREACHABLE() JSON_HEDLEY_ASSUME(0) +#endif + +JSON_HEDLEY_DIAGNOSTIC_PUSH +#if JSON_HEDLEY_HAS_WARNING("-Wpedantic") + #pragma clang diagnostic ignored "-Wpedantic" +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wc++98-compat-pedantic") && defined(__cplusplus) + #pragma clang diagnostic ignored "-Wc++98-compat-pedantic" +#endif +#if JSON_HEDLEY_GCC_HAS_WARNING("-Wvariadic-macros",4,0,0) + #if defined(__clang__) + #pragma clang diagnostic ignored "-Wvariadic-macros" + #elif defined(JSON_HEDLEY_GCC_VERSION) + #pragma GCC diagnostic ignored "-Wvariadic-macros" + #endif +#endif +#if defined(JSON_HEDLEY_NON_NULL) + #undef JSON_HEDLEY_NON_NULL +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(nonnull) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) + #define JSON_HEDLEY_NON_NULL(...) __attribute__((__nonnull__(__VA_ARGS__))) +#else + #define JSON_HEDLEY_NON_NULL(...) +#endif +JSON_HEDLEY_DIAGNOSTIC_POP + +#if defined(JSON_HEDLEY_PRINTF_FORMAT) + #undef JSON_HEDLEY_PRINTF_FORMAT +#endif +#if defined(__MINGW32__) && JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && !defined(__USE_MINGW_ANSI_STDIO) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(ms_printf, string_idx, first_to_check))) +#elif defined(__MINGW32__) && JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && defined(__USE_MINGW_ANSI_STDIO) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(gnu_printf, string_idx, first_to_check))) +#elif \ + JSON_HEDLEY_HAS_ATTRIBUTE(format) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(__printf__, string_idx, first_to_check))) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(6,0,0) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __declspec(vaformat(printf,string_idx,first_to_check)) +#else + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) +#endif + +#if defined(JSON_HEDLEY_CONSTEXPR) + #undef JSON_HEDLEY_CONSTEXPR +#endif +#if defined(__cplusplus) + #if __cplusplus >= 201103L + #define JSON_HEDLEY_CONSTEXPR JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(constexpr) + #endif +#endif +#if !defined(JSON_HEDLEY_CONSTEXPR) + #define JSON_HEDLEY_CONSTEXPR +#endif + +#if defined(JSON_HEDLEY_PREDICT) + #undef JSON_HEDLEY_PREDICT +#endif +#if defined(JSON_HEDLEY_LIKELY) + #undef JSON_HEDLEY_LIKELY +#endif +#if defined(JSON_HEDLEY_UNLIKELY) + #undef JSON_HEDLEY_UNLIKELY +#endif +#if defined(JSON_HEDLEY_UNPREDICTABLE) + #undef JSON_HEDLEY_UNPREDICTABLE +#endif +#if JSON_HEDLEY_HAS_BUILTIN(__builtin_unpredictable) + #define JSON_HEDLEY_UNPREDICTABLE(expr) __builtin_unpredictable((expr)) +#endif +#if \ + (JSON_HEDLEY_HAS_BUILTIN(__builtin_expect_with_probability) && !defined(JSON_HEDLEY_PGI_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(9,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +# define JSON_HEDLEY_PREDICT(expr, value, probability) __builtin_expect_with_probability( (expr), (value), (probability)) +# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) __builtin_expect_with_probability(!!(expr), 1 , (probability)) +# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) __builtin_expect_with_probability(!!(expr), 0 , (probability)) +# define JSON_HEDLEY_LIKELY(expr) __builtin_expect (!!(expr), 1 ) +# define JSON_HEDLEY_UNLIKELY(expr) __builtin_expect (!!(expr), 0 ) +#elif \ + (JSON_HEDLEY_HAS_BUILTIN(__builtin_expect) && !defined(JSON_HEDLEY_INTEL_CL_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,7,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,27) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +# define JSON_HEDLEY_PREDICT(expr, expected, probability) \ + (((probability) >= 0.9) ? __builtin_expect((expr), (expected)) : (JSON_HEDLEY_STATIC_CAST(void, expected), (expr))) +# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) \ + (__extension__ ({ \ + double hedley_probability_ = (probability); \ + ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 1) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 0) : !!(expr))); \ + })) +# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) \ + (__extension__ ({ \ + double hedley_probability_ = (probability); \ + ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 0) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 1) : !!(expr))); \ + })) +# define JSON_HEDLEY_LIKELY(expr) __builtin_expect(!!(expr), 1) +# define JSON_HEDLEY_UNLIKELY(expr) __builtin_expect(!!(expr), 0) +#else +# define JSON_HEDLEY_PREDICT(expr, expected, probability) (JSON_HEDLEY_STATIC_CAST(void, expected), (expr)) +# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) (!!(expr)) +# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) (!!(expr)) +# define JSON_HEDLEY_LIKELY(expr) (!!(expr)) +# define JSON_HEDLEY_UNLIKELY(expr) (!!(expr)) +#endif +#if !defined(JSON_HEDLEY_UNPREDICTABLE) + #define JSON_HEDLEY_UNPREDICTABLE(expr) JSON_HEDLEY_PREDICT(expr, 1, 0.5) +#endif + +#if defined(JSON_HEDLEY_MALLOC) + #undef JSON_HEDLEY_MALLOC +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(malloc) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_MALLOC __attribute__((__malloc__)) +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) + #define JSON_HEDLEY_MALLOC _Pragma("returns_new_memory") +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_MALLOC __declspec(restrict) +#else + #define JSON_HEDLEY_MALLOC +#endif + +#if defined(JSON_HEDLEY_PURE) + #undef JSON_HEDLEY_PURE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(pure) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(2,96,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +# define JSON_HEDLEY_PURE __attribute__((__pure__)) +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) +# define JSON_HEDLEY_PURE _Pragma("does_not_write_global_data") +#elif defined(__cplusplus) && \ + ( \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(2,0,1) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) \ + ) +# define JSON_HEDLEY_PURE _Pragma("FUNC_IS_PURE;") +#else +# define JSON_HEDLEY_PURE +#endif + +#if defined(JSON_HEDLEY_CONST) + #undef JSON_HEDLEY_CONST +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(const) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(2,5,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_CONST __attribute__((__const__)) +#elif \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) + #define JSON_HEDLEY_CONST _Pragma("no_side_effect") +#else + #define JSON_HEDLEY_CONST JSON_HEDLEY_PURE +#endif + +#if defined(JSON_HEDLEY_RESTRICT) + #undef JSON_HEDLEY_RESTRICT +#endif +#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && !defined(__cplusplus) + #define JSON_HEDLEY_RESTRICT restrict +#elif \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,4) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus)) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) || \ + defined(__clang__) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_RESTRICT __restrict +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,3,0) && !defined(__cplusplus) + #define JSON_HEDLEY_RESTRICT _Restrict +#else + #define JSON_HEDLEY_RESTRICT +#endif + +#if defined(JSON_HEDLEY_INLINE) + #undef JSON_HEDLEY_INLINE +#endif +#if \ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \ + (defined(__cplusplus) && (__cplusplus >= 199711L)) + #define JSON_HEDLEY_INLINE inline +#elif \ + defined(JSON_HEDLEY_GCC_VERSION) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(6,2,0) + #define JSON_HEDLEY_INLINE __inline__ +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,1,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_INLINE __inline +#else + #define JSON_HEDLEY_INLINE +#endif + +#if defined(JSON_HEDLEY_ALWAYS_INLINE) + #undef JSON_HEDLEY_ALWAYS_INLINE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(always_inline) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) +# define JSON_HEDLEY_ALWAYS_INLINE __attribute__((__always_inline__)) JSON_HEDLEY_INLINE +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +# define JSON_HEDLEY_ALWAYS_INLINE __forceinline +#elif defined(__cplusplus) && \ + ( \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) \ + ) +# define JSON_HEDLEY_ALWAYS_INLINE _Pragma("FUNC_ALWAYS_INLINE;") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) +# define JSON_HEDLEY_ALWAYS_INLINE _Pragma("inline=forced") +#else +# define JSON_HEDLEY_ALWAYS_INLINE JSON_HEDLEY_INLINE +#endif + +#if defined(JSON_HEDLEY_NEVER_INLINE) + #undef JSON_HEDLEY_NEVER_INLINE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(noinline) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) + #define JSON_HEDLEY_NEVER_INLINE __attribute__((__noinline__)) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_NEVER_INLINE __declspec(noinline) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(10,2,0) + #define JSON_HEDLEY_NEVER_INLINE _Pragma("noinline") +#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,0,0) && defined(__cplusplus) + #define JSON_HEDLEY_NEVER_INLINE _Pragma("FUNC_CANNOT_INLINE;") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_NEVER_INLINE _Pragma("inline=never") +#elif JSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0) + #define JSON_HEDLEY_NEVER_INLINE __attribute((noinline)) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0) + #define JSON_HEDLEY_NEVER_INLINE __declspec(noinline) +#else + #define JSON_HEDLEY_NEVER_INLINE +#endif + +#if defined(JSON_HEDLEY_PRIVATE) + #undef JSON_HEDLEY_PRIVATE +#endif +#if defined(JSON_HEDLEY_PUBLIC) + #undef JSON_HEDLEY_PUBLIC +#endif +#if defined(JSON_HEDLEY_IMPORT) + #undef JSON_HEDLEY_IMPORT +#endif +#if defined(_WIN32) || defined(__CYGWIN__) +# define JSON_HEDLEY_PRIVATE +# define JSON_HEDLEY_PUBLIC __declspec(dllexport) +# define JSON_HEDLEY_IMPORT __declspec(dllimport) +#else +# if \ + JSON_HEDLEY_HAS_ATTRIBUTE(visibility) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ + ( \ + defined(__TI_EABI__) && \ + ( \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) \ + ) \ + ) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +# define JSON_HEDLEY_PRIVATE __attribute__((__visibility__("hidden"))) +# define JSON_HEDLEY_PUBLIC __attribute__((__visibility__("default"))) +# else +# define JSON_HEDLEY_PRIVATE +# define JSON_HEDLEY_PUBLIC +# endif +# define JSON_HEDLEY_IMPORT extern +#endif + +#if defined(JSON_HEDLEY_NO_THROW) + #undef JSON_HEDLEY_NO_THROW +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(nothrow) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_NO_THROW __attribute__((__nothrow__)) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,1,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) + #define JSON_HEDLEY_NO_THROW __declspec(nothrow) +#else + #define JSON_HEDLEY_NO_THROW +#endif + +#if defined(JSON_HEDLEY_FALL_THROUGH) + #undef JSON_HEDLEY_FALL_THROUGH +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(fallthrough) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(7,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_FALL_THROUGH __attribute__((__fallthrough__)) +#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(clang,fallthrough) + #define JSON_HEDLEY_FALL_THROUGH JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[clang::fallthrough]]) +#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE(fallthrough) + #define JSON_HEDLEY_FALL_THROUGH JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[fallthrough]]) +#elif defined(__fallthrough) /* SAL */ + #define JSON_HEDLEY_FALL_THROUGH __fallthrough +#else + #define JSON_HEDLEY_FALL_THROUGH +#endif + +#if defined(JSON_HEDLEY_RETURNS_NON_NULL) + #undef JSON_HEDLEY_RETURNS_NON_NULL +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(returns_nonnull) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_RETURNS_NON_NULL __attribute__((__returns_nonnull__)) +#elif defined(_Ret_notnull_) /* SAL */ + #define JSON_HEDLEY_RETURNS_NON_NULL _Ret_notnull_ +#else + #define JSON_HEDLEY_RETURNS_NON_NULL +#endif + +#if defined(JSON_HEDLEY_ARRAY_PARAM) + #undef JSON_HEDLEY_ARRAY_PARAM +#endif +#if \ + defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && \ + !defined(__STDC_NO_VLA__) && \ + !defined(__cplusplus) && \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_TINYC_VERSION) + #define JSON_HEDLEY_ARRAY_PARAM(name) (name) +#else + #define JSON_HEDLEY_ARRAY_PARAM(name) +#endif + +#if defined(JSON_HEDLEY_IS_CONSTANT) + #undef JSON_HEDLEY_IS_CONSTANT +#endif +#if defined(JSON_HEDLEY_REQUIRE_CONSTEXPR) + #undef JSON_HEDLEY_REQUIRE_CONSTEXPR +#endif +/* JSON_HEDLEY_IS_CONSTEXPR_ is for + HEDLEY INTERNAL USE ONLY. API subject to change without notice. */ +#if defined(JSON_HEDLEY_IS_CONSTEXPR_) + #undef JSON_HEDLEY_IS_CONSTEXPR_ +#endif +#if \ + JSON_HEDLEY_HAS_BUILTIN(__builtin_constant_p) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,19) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) && !defined(__cplusplus)) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_IS_CONSTANT(expr) __builtin_constant_p(expr) +#endif +#if !defined(__cplusplus) +# if \ + JSON_HEDLEY_HAS_BUILTIN(__builtin_types_compatible_p) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,24) +#if defined(__INTPTR_TYPE__) + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0)), int*) +#else + #include + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((intptr_t) ((expr) * 0)) : (int*) 0)), int*) +#endif +# elif \ + ( \ + defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && \ + !defined(JSON_HEDLEY_SUNPRO_VERSION) && \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_IAR_VERSION)) || \ + (JSON_HEDLEY_HAS_EXTENSION(c_generic_selections) && !defined(JSON_HEDLEY_IAR_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,3,0) +#if defined(__INTPTR_TYPE__) + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0), int*: 1, void*: 0) +#else + #include + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((intptr_t) * 0) : (int*) 0), int*: 1, void*: 0) +#endif +# elif \ + defined(JSON_HEDLEY_GCC_VERSION) || \ + defined(JSON_HEDLEY_INTEL_VERSION) || \ + defined(JSON_HEDLEY_TINYC_VERSION) || \ + defined(JSON_HEDLEY_TI_ARMCL_VERSION) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(18,12,0) || \ + defined(JSON_HEDLEY_TI_CL2000_VERSION) || \ + defined(JSON_HEDLEY_TI_CL6X_VERSION) || \ + defined(JSON_HEDLEY_TI_CL7X_VERSION) || \ + defined(JSON_HEDLEY_TI_CLPRU_VERSION) || \ + defined(__clang__) +# define JSON_HEDLEY_IS_CONSTEXPR_(expr) ( \ + sizeof(void) != \ + sizeof(*( \ + 1 ? \ + ((void*) ((expr) * 0L) ) : \ +((struct { char v[sizeof(void) * 2]; } *) 1) \ + ) \ + ) \ + ) +# endif +#endif +#if defined(JSON_HEDLEY_IS_CONSTEXPR_) + #if !defined(JSON_HEDLEY_IS_CONSTANT) + #define JSON_HEDLEY_IS_CONSTANT(expr) JSON_HEDLEY_IS_CONSTEXPR_(expr) + #endif + #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr) (JSON_HEDLEY_IS_CONSTEXPR_(expr) ? (expr) : (-1)) +#else + #if !defined(JSON_HEDLEY_IS_CONSTANT) + #define JSON_HEDLEY_IS_CONSTANT(expr) (0) + #endif + #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr) (expr) +#endif + +#if defined(JSON_HEDLEY_BEGIN_C_DECLS) + #undef JSON_HEDLEY_BEGIN_C_DECLS +#endif +#if defined(JSON_HEDLEY_END_C_DECLS) + #undef JSON_HEDLEY_END_C_DECLS +#endif +#if defined(JSON_HEDLEY_C_DECL) + #undef JSON_HEDLEY_C_DECL +#endif +#if defined(__cplusplus) + #define JSON_HEDLEY_BEGIN_C_DECLS extern "C" { + #define JSON_HEDLEY_END_C_DECLS } + #define JSON_HEDLEY_C_DECL extern "C" +#else + #define JSON_HEDLEY_BEGIN_C_DECLS + #define JSON_HEDLEY_END_C_DECLS + #define JSON_HEDLEY_C_DECL +#endif + +#if defined(JSON_HEDLEY_STATIC_ASSERT) + #undef JSON_HEDLEY_STATIC_ASSERT +#endif +#if \ + !defined(__cplusplus) && ( \ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)) || \ + (JSON_HEDLEY_HAS_FEATURE(c_static_assert) && !defined(JSON_HEDLEY_INTEL_CL_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(6,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + defined(_Static_assert) \ + ) +# define JSON_HEDLEY_STATIC_ASSERT(expr, message) _Static_assert(expr, message) +#elif \ + (defined(__cplusplus) && (__cplusplus >= 201103L)) || \ + JSON_HEDLEY_MSVC_VERSION_CHECK(16,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +# define JSON_HEDLEY_STATIC_ASSERT(expr, message) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(static_assert(expr, message)) +#else +# define JSON_HEDLEY_STATIC_ASSERT(expr, message) +#endif + +#if defined(JSON_HEDLEY_NULL) + #undef JSON_HEDLEY_NULL +#endif +#if defined(__cplusplus) + #if __cplusplus >= 201103L + #define JSON_HEDLEY_NULL JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(nullptr) + #elif defined(NULL) + #define JSON_HEDLEY_NULL NULL + #else + #define JSON_HEDLEY_NULL JSON_HEDLEY_STATIC_CAST(void*, 0) + #endif +#elif defined(NULL) + #define JSON_HEDLEY_NULL NULL +#else + #define JSON_HEDLEY_NULL ((void*) 0) +#endif + +#if defined(JSON_HEDLEY_MESSAGE) + #undef JSON_HEDLEY_MESSAGE +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") +# define JSON_HEDLEY_MESSAGE(msg) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \ + JSON_HEDLEY_PRAGMA(message msg) \ + JSON_HEDLEY_DIAGNOSTIC_POP +#elif \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message msg) +#elif JSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(_CRI message msg) +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message(msg)) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message(msg)) +#else +# define JSON_HEDLEY_MESSAGE(msg) +#endif + +#if defined(JSON_HEDLEY_WARNING) + #undef JSON_HEDLEY_WARNING +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") +# define JSON_HEDLEY_WARNING(msg) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \ + JSON_HEDLEY_PRAGMA(clang warning msg) \ + JSON_HEDLEY_DIAGNOSTIC_POP +#elif \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,8,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_PRAGMA(GCC warning msg) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_PRAGMA(message(msg)) +#else +# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_MESSAGE(msg) +#endif + +#if defined(JSON_HEDLEY_REQUIRE) + #undef JSON_HEDLEY_REQUIRE +#endif +#if defined(JSON_HEDLEY_REQUIRE_MSG) + #undef JSON_HEDLEY_REQUIRE_MSG +#endif +#if JSON_HEDLEY_HAS_ATTRIBUTE(diagnose_if) +# if JSON_HEDLEY_HAS_WARNING("-Wgcc-compat") +# define JSON_HEDLEY_REQUIRE(expr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \ + __attribute__((diagnose_if(!(expr), #expr, "error"))) \ + JSON_HEDLEY_DIAGNOSTIC_POP +# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \ + __attribute__((diagnose_if(!(expr), msg, "error"))) \ + JSON_HEDLEY_DIAGNOSTIC_POP +# else +# define JSON_HEDLEY_REQUIRE(expr) __attribute__((diagnose_if(!(expr), #expr, "error"))) +# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) __attribute__((diagnose_if(!(expr), msg, "error"))) +# endif +#else +# define JSON_HEDLEY_REQUIRE(expr) +# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) +#endif + +#if defined(JSON_HEDLEY_FLAGS) + #undef JSON_HEDLEY_FLAGS +#endif +#if JSON_HEDLEY_HAS_ATTRIBUTE(flag_enum) && (!defined(__cplusplus) || JSON_HEDLEY_HAS_WARNING("-Wbitfield-enum-conversion")) + #define JSON_HEDLEY_FLAGS __attribute__((__flag_enum__)) +#else + #define JSON_HEDLEY_FLAGS +#endif + +#if defined(JSON_HEDLEY_FLAGS_CAST) + #undef JSON_HEDLEY_FLAGS_CAST +#endif +#if JSON_HEDLEY_INTEL_VERSION_CHECK(19,0,0) +# define JSON_HEDLEY_FLAGS_CAST(T, expr) (__extension__ ({ \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("warning(disable:188)") \ + ((T) (expr)); \ + JSON_HEDLEY_DIAGNOSTIC_POP \ + })) +#else +# define JSON_HEDLEY_FLAGS_CAST(T, expr) JSON_HEDLEY_STATIC_CAST(T, expr) +#endif + +#if defined(JSON_HEDLEY_EMPTY_BASES) + #undef JSON_HEDLEY_EMPTY_BASES +#endif +#if \ + (JSON_HEDLEY_MSVC_VERSION_CHECK(19,0,23918) && !JSON_HEDLEY_MSVC_VERSION_CHECK(20,0,0)) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_EMPTY_BASES __declspec(empty_bases) +#else + #define JSON_HEDLEY_EMPTY_BASES +#endif + +/* Remaining macros are deprecated. */ + +#if defined(JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK) + #undef JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK +#endif +#if defined(__clang__) + #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) (0) +#else + #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_CLANG_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_CLANG_HAS_ATTRIBUTE +#endif +#define JSON_HEDLEY_CLANG_HAS_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_ATTRIBUTE(attribute) + +#if defined(JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE +#endif +#define JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) + +#if defined(JSON_HEDLEY_CLANG_HAS_BUILTIN) + #undef JSON_HEDLEY_CLANG_HAS_BUILTIN +#endif +#define JSON_HEDLEY_CLANG_HAS_BUILTIN(builtin) JSON_HEDLEY_HAS_BUILTIN(builtin) + +#if defined(JSON_HEDLEY_CLANG_HAS_FEATURE) + #undef JSON_HEDLEY_CLANG_HAS_FEATURE +#endif +#define JSON_HEDLEY_CLANG_HAS_FEATURE(feature) JSON_HEDLEY_HAS_FEATURE(feature) + +#if defined(JSON_HEDLEY_CLANG_HAS_EXTENSION) + #undef JSON_HEDLEY_CLANG_HAS_EXTENSION +#endif +#define JSON_HEDLEY_CLANG_HAS_EXTENSION(extension) JSON_HEDLEY_HAS_EXTENSION(extension) + +#if defined(JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE +#endif +#define JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) + +#if defined(JSON_HEDLEY_CLANG_HAS_WARNING) + #undef JSON_HEDLEY_CLANG_HAS_WARNING +#endif +#define JSON_HEDLEY_CLANG_HAS_WARNING(warning) JSON_HEDLEY_HAS_WARNING(warning) + +#endif /* !defined(JSON_HEDLEY_VERSION) || (JSON_HEDLEY_VERSION < X) */ + + +// This file contains all internal macro definitions (except those affecting ABI) +// You MUST include macro_unscope.hpp at the end of json.hpp to undef all of them + +// #include + + +// exclude unsupported compilers +#if !defined(JSON_SKIP_UNSUPPORTED_COMPILER_CHECK) + #if defined(__clang__) + #if (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) < 30400 + #error "unsupported Clang version - see https://github.com/nlohmann/json#supported-compilers" + #endif + #elif defined(__GNUC__) && !(defined(__ICC) || defined(__INTEL_COMPILER)) + #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) < 40800 + #error "unsupported GCC version - see https://github.com/nlohmann/json#supported-compilers" + #endif + #endif +#endif + +// C++ language standard detection +// if the user manually specified the used c++ version this is skipped +#if !defined(JSON_HAS_CPP_23) && !defined(JSON_HAS_CPP_20) && !defined(JSON_HAS_CPP_17) && !defined(JSON_HAS_CPP_14) && !defined(JSON_HAS_CPP_11) + #if (defined(__cplusplus) && __cplusplus > 202002L) || (defined(_MSVC_LANG) && _MSVC_LANG > 202002L) + #define JSON_HAS_CPP_23 + #define JSON_HAS_CPP_20 + #define JSON_HAS_CPP_17 + #define JSON_HAS_CPP_14 + #elif (defined(__cplusplus) && __cplusplus > 201703L) || (defined(_MSVC_LANG) && _MSVC_LANG > 201703L) + #define JSON_HAS_CPP_20 + #define JSON_HAS_CPP_17 + #define JSON_HAS_CPP_14 + #elif (defined(__cplusplus) && __cplusplus > 201402L) || (defined(_HAS_CXX17) && _HAS_CXX17 == 1) // fix for issue #464 + #define JSON_HAS_CPP_17 + #define JSON_HAS_CPP_14 + #elif (defined(__cplusplus) && __cplusplus > 201103L) || (defined(_HAS_CXX14) && _HAS_CXX14 == 1) + #define JSON_HAS_CPP_14 + #endif + // the cpp 11 flag is always specified because it is the minimal required version + #define JSON_HAS_CPP_11 +#endif + +#ifdef __has_include + #if __has_include() + #include + #endif +#endif + +#if !defined(JSON_HAS_FILESYSTEM) && !defined(JSON_HAS_EXPERIMENTAL_FILESYSTEM) + #ifdef JSON_HAS_CPP_17 + #if defined(__cpp_lib_filesystem) + #define JSON_HAS_FILESYSTEM 1 + #elif defined(__cpp_lib_experimental_filesystem) + #define JSON_HAS_EXPERIMENTAL_FILESYSTEM 1 + #elif !defined(__has_include) + #define JSON_HAS_EXPERIMENTAL_FILESYSTEM 1 + #elif __has_include() + #define JSON_HAS_FILESYSTEM 1 + #elif __has_include() + #define JSON_HAS_EXPERIMENTAL_FILESYSTEM 1 + #endif + + // std::filesystem does not work on MinGW GCC 8: https://sourceforge.net/p/mingw-w64/bugs/737/ + #if defined(__MINGW32__) && defined(__GNUC__) && __GNUC__ == 8 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before GCC 8: https://en.cppreference.com/w/cpp/compiler_support + #if defined(__GNUC__) && !defined(__clang__) && __GNUC__ < 8 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before Clang 7: https://en.cppreference.com/w/cpp/compiler_support + #if defined(__clang_major__) && __clang_major__ < 7 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before MSVC 19.14: https://en.cppreference.com/w/cpp/compiler_support + #if defined(_MSC_VER) && _MSC_VER < 1914 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before iOS 13 + #if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < 130000 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before macOS Catalina + #if defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101500 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + #endif +#endif + +#ifndef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #define JSON_HAS_EXPERIMENTAL_FILESYSTEM 0 +#endif + +#ifndef JSON_HAS_FILESYSTEM + #define JSON_HAS_FILESYSTEM 0 +#endif + +#ifndef JSON_HAS_THREE_WAY_COMPARISON + #if defined(__cpp_impl_three_way_comparison) && __cpp_impl_three_way_comparison >= 201907L \ + && defined(__cpp_lib_three_way_comparison) && __cpp_lib_three_way_comparison >= 201907L + #define JSON_HAS_THREE_WAY_COMPARISON 1 + #else + #define JSON_HAS_THREE_WAY_COMPARISON 0 + #endif +#endif + +#ifndef JSON_HAS_RANGES + // ranges header shipping in GCC 11.1.0 (released 2021-04-27) has syntax error + #if defined(__GLIBCXX__) && __GLIBCXX__ == 20210427 + #define JSON_HAS_RANGES 0 + #elif defined(__cpp_lib_ranges) + #define JSON_HAS_RANGES 1 + #else + #define JSON_HAS_RANGES 0 + #endif +#endif + +#ifndef JSON_HAS_STATIC_RTTI + #if !defined(_HAS_STATIC_RTTI) || _HAS_STATIC_RTTI != 0 + #define JSON_HAS_STATIC_RTTI 1 + #else + #define JSON_HAS_STATIC_RTTI 0 + #endif +#endif + +#ifdef JSON_HAS_CPP_17 + #define JSON_INLINE_VARIABLE inline +#else + #define JSON_INLINE_VARIABLE +#endif + +#if JSON_HEDLEY_HAS_ATTRIBUTE(no_unique_address) + #define JSON_NO_UNIQUE_ADDRESS [[no_unique_address]] +#else + #define JSON_NO_UNIQUE_ADDRESS +#endif + +// disable documentation warnings on clang +#if defined(__clang__) + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wdocumentation" + #pragma clang diagnostic ignored "-Wdocumentation-unknown-command" +#endif + +// allow disabling exceptions +#if (defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND)) && !defined(JSON_NOEXCEPTION) + #define JSON_THROW(exception) throw exception + #define JSON_TRY try + #define JSON_CATCH(exception) catch(exception) + #define JSON_INTERNAL_CATCH(exception) catch(exception) +#else + #include + #define JSON_THROW(exception) std::abort() + #define JSON_TRY if(true) + #define JSON_CATCH(exception) if(false) + #define JSON_INTERNAL_CATCH(exception) if(false) +#endif + +// override exception macros +#if defined(JSON_THROW_USER) + #undef JSON_THROW + #define JSON_THROW JSON_THROW_USER +#endif +#if defined(JSON_TRY_USER) + #undef JSON_TRY + #define JSON_TRY JSON_TRY_USER +#endif +#if defined(JSON_CATCH_USER) + #undef JSON_CATCH + #define JSON_CATCH JSON_CATCH_USER + #undef JSON_INTERNAL_CATCH + #define JSON_INTERNAL_CATCH JSON_CATCH_USER +#endif +#if defined(JSON_INTERNAL_CATCH_USER) + #undef JSON_INTERNAL_CATCH + #define JSON_INTERNAL_CATCH JSON_INTERNAL_CATCH_USER +#endif + +// allow overriding assert +#if !defined(JSON_ASSERT) + #include // assert + #define JSON_ASSERT(x) assert(x) +#endif + +// allow to access some private functions (needed by the test suite) +#if defined(JSON_TESTS_PRIVATE) + #define JSON_PRIVATE_UNLESS_TESTED public +#else + #define JSON_PRIVATE_UNLESS_TESTED private +#endif + +/*! +@brief macro to briefly define a mapping between an enum and JSON +@def NLOHMANN_JSON_SERIALIZE_ENUM +@since version 3.4.0 +*/ +#define NLOHMANN_JSON_SERIALIZE_ENUM(ENUM_TYPE, ...) \ + template \ + inline void to_json(BasicJsonType& j, const ENUM_TYPE& e) \ + { \ + /* NOLINTNEXTLINE(modernize-type-traits) we use C++11 */ \ + static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ + /* NOLINTNEXTLINE(modernize-avoid-c-arrays) we don't want to depend on */ \ + static const std::pair m[] = __VA_ARGS__; \ + auto it = std::find_if(std::begin(m), std::end(m), \ + [e](const std::pair& ej_pair) -> bool \ + { \ + return ej_pair.first == e; \ + }); \ + j = ((it != std::end(m)) ? it : std::begin(m))->second; \ + } \ + template \ + inline void from_json(const BasicJsonType& j, ENUM_TYPE& e) \ + { \ + /* NOLINTNEXTLINE(modernize-type-traits) we use C++11 */ \ + static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ + /* NOLINTNEXTLINE(modernize-avoid-c-arrays) we don't want to depend on */ \ + static const std::pair m[] = __VA_ARGS__; \ + auto it = std::find_if(std::begin(m), std::end(m), \ + [&j](const std::pair& ej_pair) -> bool \ + { \ + return ej_pair.second == j; \ + }); \ + e = ((it != std::end(m)) ? it : std::begin(m))->first; \ + } + +// Ugly macros to avoid uglier copy-paste when specializing basic_json. They +// may be removed in the future once the class is split. + +#define NLOHMANN_BASIC_JSON_TPL_DECLARATION \ + template class ObjectType, \ + template class ArrayType, \ + class StringType, class BooleanType, class NumberIntegerType, \ + class NumberUnsignedType, class NumberFloatType, \ + template class AllocatorType, \ + template class JSONSerializer, \ + class BinaryType, \ + class CustomBaseClass> + +#define NLOHMANN_BASIC_JSON_TPL \ + basic_json + +// Macros to simplify conversion from/to types + +#define NLOHMANN_JSON_EXPAND( x ) x +#define NLOHMANN_JSON_GET_MACRO(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, NAME,...) NAME +#define NLOHMANN_JSON_PASTE(...) NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_GET_MACRO(__VA_ARGS__, \ + NLOHMANN_JSON_PASTE64, \ + NLOHMANN_JSON_PASTE63, \ + NLOHMANN_JSON_PASTE62, \ + NLOHMANN_JSON_PASTE61, \ + NLOHMANN_JSON_PASTE60, \ + NLOHMANN_JSON_PASTE59, \ + NLOHMANN_JSON_PASTE58, \ + NLOHMANN_JSON_PASTE57, \ + NLOHMANN_JSON_PASTE56, \ + NLOHMANN_JSON_PASTE55, \ + NLOHMANN_JSON_PASTE54, \ + NLOHMANN_JSON_PASTE53, \ + NLOHMANN_JSON_PASTE52, \ + NLOHMANN_JSON_PASTE51, \ + NLOHMANN_JSON_PASTE50, \ + NLOHMANN_JSON_PASTE49, \ + NLOHMANN_JSON_PASTE48, \ + NLOHMANN_JSON_PASTE47, \ + NLOHMANN_JSON_PASTE46, \ + NLOHMANN_JSON_PASTE45, \ + NLOHMANN_JSON_PASTE44, \ + NLOHMANN_JSON_PASTE43, \ + NLOHMANN_JSON_PASTE42, \ + NLOHMANN_JSON_PASTE41, \ + NLOHMANN_JSON_PASTE40, \ + NLOHMANN_JSON_PASTE39, \ + NLOHMANN_JSON_PASTE38, \ + NLOHMANN_JSON_PASTE37, \ + NLOHMANN_JSON_PASTE36, \ + NLOHMANN_JSON_PASTE35, \ + NLOHMANN_JSON_PASTE34, \ + NLOHMANN_JSON_PASTE33, \ + NLOHMANN_JSON_PASTE32, \ + NLOHMANN_JSON_PASTE31, \ + NLOHMANN_JSON_PASTE30, \ + NLOHMANN_JSON_PASTE29, \ + NLOHMANN_JSON_PASTE28, \ + NLOHMANN_JSON_PASTE27, \ + NLOHMANN_JSON_PASTE26, \ + NLOHMANN_JSON_PASTE25, \ + NLOHMANN_JSON_PASTE24, \ + NLOHMANN_JSON_PASTE23, \ + NLOHMANN_JSON_PASTE22, \ + NLOHMANN_JSON_PASTE21, \ + NLOHMANN_JSON_PASTE20, \ + NLOHMANN_JSON_PASTE19, \ + NLOHMANN_JSON_PASTE18, \ + NLOHMANN_JSON_PASTE17, \ + NLOHMANN_JSON_PASTE16, \ + NLOHMANN_JSON_PASTE15, \ + NLOHMANN_JSON_PASTE14, \ + NLOHMANN_JSON_PASTE13, \ + NLOHMANN_JSON_PASTE12, \ + NLOHMANN_JSON_PASTE11, \ + NLOHMANN_JSON_PASTE10, \ + NLOHMANN_JSON_PASTE9, \ + NLOHMANN_JSON_PASTE8, \ + NLOHMANN_JSON_PASTE7, \ + NLOHMANN_JSON_PASTE6, \ + NLOHMANN_JSON_PASTE5, \ + NLOHMANN_JSON_PASTE4, \ + NLOHMANN_JSON_PASTE3, \ + NLOHMANN_JSON_PASTE2, \ + NLOHMANN_JSON_PASTE1)(__VA_ARGS__)) +#define NLOHMANN_JSON_PASTE2(func, v1) func(v1) +#define NLOHMANN_JSON_PASTE3(func, v1, v2) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE2(func, v2) +#define NLOHMANN_JSON_PASTE4(func, v1, v2, v3) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE3(func, v2, v3) +#define NLOHMANN_JSON_PASTE5(func, v1, v2, v3, v4) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE4(func, v2, v3, v4) +#define NLOHMANN_JSON_PASTE6(func, v1, v2, v3, v4, v5) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE5(func, v2, v3, v4, v5) +#define NLOHMANN_JSON_PASTE7(func, v1, v2, v3, v4, v5, v6) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE6(func, v2, v3, v4, v5, v6) +#define NLOHMANN_JSON_PASTE8(func, v1, v2, v3, v4, v5, v6, v7) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE7(func, v2, v3, v4, v5, v6, v7) +#define NLOHMANN_JSON_PASTE9(func, v1, v2, v3, v4, v5, v6, v7, v8) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE8(func, v2, v3, v4, v5, v6, v7, v8) +#define NLOHMANN_JSON_PASTE10(func, v1, v2, v3, v4, v5, v6, v7, v8, v9) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE9(func, v2, v3, v4, v5, v6, v7, v8, v9) +#define NLOHMANN_JSON_PASTE11(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE10(func, v2, v3, v4, v5, v6, v7, v8, v9, v10) +#define NLOHMANN_JSON_PASTE12(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE11(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) +#define NLOHMANN_JSON_PASTE13(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE12(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) +#define NLOHMANN_JSON_PASTE14(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE13(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) +#define NLOHMANN_JSON_PASTE15(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE14(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) +#define NLOHMANN_JSON_PASTE16(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE15(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) +#define NLOHMANN_JSON_PASTE17(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE16(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) +#define NLOHMANN_JSON_PASTE18(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE17(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17) +#define NLOHMANN_JSON_PASTE19(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE18(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18) +#define NLOHMANN_JSON_PASTE20(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE19(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19) +#define NLOHMANN_JSON_PASTE21(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE20(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20) +#define NLOHMANN_JSON_PASTE22(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE21(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21) +#define NLOHMANN_JSON_PASTE23(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE22(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) +#define NLOHMANN_JSON_PASTE24(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE23(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) +#define NLOHMANN_JSON_PASTE25(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE24(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24) +#define NLOHMANN_JSON_PASTE26(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE25(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25) +#define NLOHMANN_JSON_PASTE27(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE26(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26) +#define NLOHMANN_JSON_PASTE28(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE27(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27) +#define NLOHMANN_JSON_PASTE29(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE28(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28) +#define NLOHMANN_JSON_PASTE30(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE29(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29) +#define NLOHMANN_JSON_PASTE31(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE30(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30) +#define NLOHMANN_JSON_PASTE32(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE31(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31) +#define NLOHMANN_JSON_PASTE33(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE32(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32) +#define NLOHMANN_JSON_PASTE34(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE33(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33) +#define NLOHMANN_JSON_PASTE35(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE34(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34) +#define NLOHMANN_JSON_PASTE36(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE35(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35) +#define NLOHMANN_JSON_PASTE37(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE36(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36) +#define NLOHMANN_JSON_PASTE38(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE37(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37) +#define NLOHMANN_JSON_PASTE39(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE38(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38) +#define NLOHMANN_JSON_PASTE40(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE39(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39) +#define NLOHMANN_JSON_PASTE41(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE40(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40) +#define NLOHMANN_JSON_PASTE42(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE41(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41) +#define NLOHMANN_JSON_PASTE43(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE42(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42) +#define NLOHMANN_JSON_PASTE44(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE43(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43) +#define NLOHMANN_JSON_PASTE45(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE44(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44) +#define NLOHMANN_JSON_PASTE46(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE45(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45) +#define NLOHMANN_JSON_PASTE47(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE46(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46) +#define NLOHMANN_JSON_PASTE48(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE47(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47) +#define NLOHMANN_JSON_PASTE49(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE48(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48) +#define NLOHMANN_JSON_PASTE50(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE49(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49) +#define NLOHMANN_JSON_PASTE51(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE50(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50) +#define NLOHMANN_JSON_PASTE52(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE51(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51) +#define NLOHMANN_JSON_PASTE53(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE52(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52) +#define NLOHMANN_JSON_PASTE54(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE53(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53) +#define NLOHMANN_JSON_PASTE55(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE54(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54) +#define NLOHMANN_JSON_PASTE56(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE55(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55) +#define NLOHMANN_JSON_PASTE57(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE56(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56) +#define NLOHMANN_JSON_PASTE58(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE57(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57) +#define NLOHMANN_JSON_PASTE59(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE58(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58) +#define NLOHMANN_JSON_PASTE60(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE59(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59) +#define NLOHMANN_JSON_PASTE61(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE60(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60) +#define NLOHMANN_JSON_PASTE62(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE61(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61) +#define NLOHMANN_JSON_PASTE63(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE62(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62) +#define NLOHMANN_JSON_PASTE64(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE63(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63) + +#define NLOHMANN_JSON_TO(v1) nlohmann_json_j[#v1] = nlohmann_json_t.v1; +#define NLOHMANN_JSON_FROM(v1) nlohmann_json_j.at(#v1).get_to(nlohmann_json_t.v1); +#define NLOHMANN_JSON_FROM_WITH_DEFAULT(v1) nlohmann_json_t.v1 = !nlohmann_json_j.is_null() ? nlohmann_json_j.value(#v1, nlohmann_json_default_obj.v1) : nlohmann_json_default_obj.v1; + +/*! +@brief macro +@def NLOHMANN_DEFINE_TYPE_INTRUSIVE +@since version 3.9.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_type_intrusive/ +*/ +#define NLOHMANN_DEFINE_TYPE_INTRUSIVE(Type, ...) \ + template::value, int> = 0> \ + friend void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + template::value, int> = 0> \ + friend void from_json(const BasicJsonType& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT +@since version 3.11.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_type_intrusive/ +*/ +#define NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT(Type, ...) \ + template::value, int> = 0> \ + friend void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + template::value, int> = 0> \ + friend void from_json(const BasicJsonType& nlohmann_json_j, Type& nlohmann_json_t) { const Type nlohmann_json_default_obj{}; NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM_WITH_DEFAULT, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_TYPE_INTRUSIVE_ONLY_SERIALIZE +@since version 3.11.3 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_type_intrusive/ +*/ +#define NLOHMANN_DEFINE_TYPE_INTRUSIVE_ONLY_SERIALIZE(Type, ...) \ + template::value, int> = 0> \ + friend void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE +@since version 3.9.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_type_non_intrusive/ +*/ +#define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Type, ...) \ + template::value, int> = 0> \ + void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + template::value, int> = 0> \ + void from_json(const BasicJsonType& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT +@since version 3.11.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_type_non_intrusive/ +*/ +#define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(Type, ...) \ + template::value, int> = 0> \ + void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + template::value, int> = 0> \ + void from_json(const BasicJsonType& nlohmann_json_j, Type& nlohmann_json_t) { const Type nlohmann_json_default_obj{}; NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM_WITH_DEFAULT, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE +@since version 3.11.3 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_type_non_intrusive/ +*/ +#define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE(Type, ...) \ + template::value, int> = 0> \ + void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE +@since version 3.12.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_derived_type/ +*/ +#define NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE(Type, BaseType, ...) \ + template::value, int> = 0> \ + friend void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { nlohmann::to_json(nlohmann_json_j, static_cast(nlohmann_json_t)); NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + template::value, int> = 0> \ + friend void from_json(const BasicJsonType& nlohmann_json_j, Type& nlohmann_json_t) { nlohmann::from_json(nlohmann_json_j, static_cast(nlohmann_json_t)); NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_WITH_DEFAULT +@since version 3.12.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_derived_type/ +*/ +#define NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_WITH_DEFAULT(Type, BaseType, ...) \ + template::value, int> = 0> \ + friend void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { nlohmann::to_json(nlohmann_json_j, static_cast(nlohmann_json_t)); NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + template::value, int> = 0> \ + friend void from_json(const BasicJsonType& nlohmann_json_j, Type& nlohmann_json_t) { nlohmann::from_json(nlohmann_json_j, static_cast(nlohmann_json_t)); const Type nlohmann_json_default_obj{}; NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM_WITH_DEFAULT, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_ONLY_SERIALIZE +@since version 3.12.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_derived_type/ +*/ +#define NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_ONLY_SERIALIZE(Type, BaseType, ...) \ + template::value, int> = 0> \ + friend void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { nlohmann::to_json(nlohmann_json_j, static_cast(nlohmann_json_t)); NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE +@since version 3.12.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_derived_type/ +*/ +#define NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE(Type, BaseType, ...) \ + template::value, int> = 0> \ + void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { nlohmann::to_json(nlohmann_json_j, static_cast(nlohmann_json_t)); NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + template::value, int> = 0> \ + void from_json(const BasicJsonType& nlohmann_json_j, Type& nlohmann_json_t) { nlohmann::from_json(nlohmann_json_j, static_cast(nlohmann_json_t)); NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_WITH_DEFAULT +@since version 3.12.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_derived_type/ +*/ +#define NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_WITH_DEFAULT(Type, BaseType, ...) \ + template::value, int> = 0> \ + void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { nlohmann::to_json(nlohmann_json_j, static_cast(nlohmann_json_t)); NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + template::value, int> = 0> \ + void from_json(const BasicJsonType& nlohmann_json_j, Type& nlohmann_json_t) { nlohmann::from_json(nlohmann_json_j, static_cast(nlohmann_json_t)); const Type nlohmann_json_default_obj{}; NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM_WITH_DEFAULT, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE +@since version 3.12.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_derived_type/ +*/ +#define NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE(Type, BaseType, ...) \ + template::value, int> = 0> \ + void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { nlohmann::to_json(nlohmann_json_j, static_cast(nlohmann_json_t)); NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } + +// inspired from https://stackoverflow.com/a/26745591 +// allows calling any std function as if (e.g., with begin): +// using std::begin; begin(x); +// +// it allows using the detected idiom to retrieve the return type +// of such an expression +#define NLOHMANN_CAN_CALL_STD_FUNC_IMPL(std_name) \ + namespace detail { \ + using std::std_name; \ + \ + template \ + using result_of_##std_name = decltype(std_name(std::declval()...)); \ + } \ + \ + namespace detail2 { \ + struct std_name##_tag \ + { \ + }; \ + \ + template \ + std_name##_tag std_name(T&&...); \ + \ + template \ + using result_of_##std_name = decltype(std_name(std::declval()...)); \ + \ + template \ + struct would_call_std_##std_name \ + { \ + static constexpr auto const value = ::nlohmann::detail:: \ + is_detected_exact::value; \ + }; \ + } /* namespace detail2 */ \ + \ + template \ + struct would_call_std_##std_name : detail2::would_call_std_##std_name \ + { \ + } + +#ifndef JSON_USE_IMPLICIT_CONVERSIONS + #define JSON_USE_IMPLICIT_CONVERSIONS 1 +#endif + +#if JSON_USE_IMPLICIT_CONVERSIONS + #define JSON_EXPLICIT +#else + #define JSON_EXPLICIT explicit +#endif + +#ifndef JSON_DISABLE_ENUM_SERIALIZATION + #define JSON_DISABLE_ENUM_SERIALIZATION 0 +#endif + +#ifndef JSON_USE_GLOBAL_UDLS + #define JSON_USE_GLOBAL_UDLS 1 +#endif + +#if JSON_HAS_THREE_WAY_COMPARISON + #include // partial_ordering +#endif + +NLOHMANN_JSON_NAMESPACE_BEGIN +namespace detail +{ + +/////////////////////////// +// JSON type enumeration // +/////////////////////////// + +/*! +@brief the JSON type enumeration + +This enumeration collects the different JSON types. It is internally used to +distinguish the stored values, and the functions @ref basic_json::is_null(), +@ref basic_json::is_object(), @ref basic_json::is_array(), +@ref basic_json::is_string(), @ref basic_json::is_boolean(), +@ref basic_json::is_number() (with @ref basic_json::is_number_integer(), +@ref basic_json::is_number_unsigned(), and @ref basic_json::is_number_float()), +@ref basic_json::is_discarded(), @ref basic_json::is_primitive(), and +@ref basic_json::is_structured() rely on it. + +@note There are three enumeration entries (number_integer, number_unsigned, and +number_float), because the library distinguishes these three types for numbers: +@ref basic_json::number_unsigned_t is used for unsigned integers, +@ref basic_json::number_integer_t is used for signed integers, and +@ref basic_json::number_float_t is used for floating-point numbers or to +approximate integers which do not fit in the limits of their respective type. + +@sa see @ref basic_json::basic_json(const value_t value_type) -- create a JSON +value with the default value for a given type + +@since version 1.0.0 +*/ +enum class value_t : std::uint8_t +{ + null, ///< null value + object, ///< object (unordered set of name/value pairs) + array, ///< array (ordered collection of values) + string, ///< string value + boolean, ///< boolean value + number_integer, ///< number value (signed integer) + number_unsigned, ///< number value (unsigned integer) + number_float, ///< number value (floating-point) + binary, ///< binary array (ordered collection of bytes) + discarded ///< discarded by the parser callback function +}; + +/*! +@brief comparison operator for JSON types + +Returns an ordering that is similar to Python: +- order: null < boolean < number < object < array < string < binary +- furthermore, each type is not smaller than itself +- discarded values are not comparable +- binary is represented as a b"" string in python and directly comparable to a + string; however, making a binary array directly comparable with a string would + be surprising behavior in a JSON file. + +@since version 1.0.0 +*/ +#if JSON_HAS_THREE_WAY_COMPARISON + inline std::partial_ordering operator<=>(const value_t lhs, const value_t rhs) noexcept // *NOPAD* +#else + inline bool operator<(const value_t lhs, const value_t rhs) noexcept +#endif +{ + static constexpr std::array order = {{ + 0 /* null */, 3 /* object */, 4 /* array */, 5 /* string */, + 1 /* boolean */, 2 /* integer */, 2 /* unsigned */, 2 /* float */, + 6 /* binary */ + } + }; + + const auto l_index = static_cast(lhs); + const auto r_index = static_cast(rhs); +#if JSON_HAS_THREE_WAY_COMPARISON + if (l_index < order.size() && r_index < order.size()) + { + return order[l_index] <=> order[r_index]; // *NOPAD* + } + return std::partial_ordering::unordered; +#else + return l_index < order.size() && r_index < order.size() && order[l_index] < order[r_index]; +#endif +} + +// GCC selects the built-in operator< over an operator rewritten from +// a user-defined spaceship operator +// Clang, MSVC, and ICC select the rewritten candidate +// (see GCC bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105200) +#if JSON_HAS_THREE_WAY_COMPARISON && defined(__GNUC__) +inline bool operator<(const value_t lhs, const value_t rhs) noexcept +{ + return std::is_lt(lhs <=> rhs); // *NOPAD* +} +#endif + +} // namespace detail +NLOHMANN_JSON_NAMESPACE_END + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +// #include + + +NLOHMANN_JSON_NAMESPACE_BEGIN +namespace detail +{ + +/*! +@brief replace all occurrences of a substring by another string + +@param[in,out] s the string to manipulate; changed so that all + occurrences of @a f are replaced with @a t +@param[in] f the substring to replace with @a t +@param[in] t the string to replace @a f + +@pre The search string @a f must not be empty. **This precondition is +enforced with an assertion.** + +@since version 2.0.0 +*/ +template +inline void replace_substring(StringType& s, const StringType& f, + const StringType& t) +{ + JSON_ASSERT(!f.empty()); + for (auto pos = s.find(f); // find first occurrence of f + pos != StringType::npos; // make sure f was found + s.replace(pos, f.size(), t), // replace with t, and + pos = s.find(f, pos + t.size())) // find next occurrence of f + {} +} + +/*! + * @brief string escaping as described in RFC 6901 (Sect. 4) + * @param[in] s string to escape + * @return escaped string + * + * Note the order of escaping "~" to "~0" and "/" to "~1" is important. + */ +template +inline StringType escape(StringType s) +{ + replace_substring(s, StringType{"~"}, StringType{"~0"}); + replace_substring(s, StringType{"/"}, StringType{"~1"}); + return s; +} + +/*! + * @brief string unescaping as described in RFC 6901 (Sect. 4) + * @param[in] s string to unescape + * @return unescaped string + * + * Note the order of escaping "~1" to "/" and "~0" to "~" is important. + */ +template +static void unescape(StringType& s) +{ + replace_substring(s, StringType{"~1"}, StringType{"/"}); + replace_substring(s, StringType{"~0"}, StringType{"~"}); +} + +} // namespace detail +NLOHMANN_JSON_NAMESPACE_END + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include // size_t + +// #include + + +NLOHMANN_JSON_NAMESPACE_BEGIN +namespace detail +{ + +/// struct to capture the start position of the current token +struct position_t +{ + /// the total number of characters read + std::size_t chars_read_total = 0; + /// the number of characters read in the current line + std::size_t chars_read_current_line = 0; + /// the number of lines read + std::size_t lines_read = 0; + + /// conversion to size_t to preserve SAX interface + constexpr operator size_t() const + { + return chars_read_total; + } +}; + +} // namespace detail +NLOHMANN_JSON_NAMESPACE_END + +// #include + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-FileCopyrightText: 2018 The Abseil Authors +// SPDX-License-Identifier: MIT + + + +#include // array +#include // size_t +#include // conditional, enable_if, false_type, integral_constant, is_constructible, is_integral, is_same, remove_cv, remove_reference, true_type +#include // index_sequence, make_index_sequence, index_sequence_for + +// #include + + +NLOHMANN_JSON_NAMESPACE_BEGIN +namespace detail +{ + +template +using uncvref_t = typename std::remove_cv::type>::type; + +#ifdef JSON_HAS_CPP_14 + +// the following utilities are natively available in C++14 +using std::enable_if_t; +using std::index_sequence; +using std::make_index_sequence; +using std::index_sequence_for; + +#else + +// alias templates to reduce boilerplate +template +using enable_if_t = typename std::enable_if::type; + +// The following code is taken from https://github.com/abseil/abseil-cpp/blob/10cb35e459f5ecca5b2ff107635da0bfa41011b4/absl/utility/utility.h +// which is part of Google Abseil (https://github.com/abseil/abseil-cpp), licensed under the Apache License 2.0. + +//// START OF CODE FROM GOOGLE ABSEIL + +// integer_sequence +// +// Class template representing a compile-time integer sequence. An instantiation +// of `integer_sequence` has a sequence of integers encoded in its +// type through its template arguments (which is a common need when +// working with C++11 variadic templates). `absl::integer_sequence` is designed +// to be a drop-in replacement for C++14's `std::integer_sequence`. +// +// Example: +// +// template< class T, T... Ints > +// void user_function(integer_sequence); +// +// int main() +// { +// // user_function's `T` will be deduced to `int` and `Ints...` +// // will be deduced to `0, 1, 2, 3, 4`. +// user_function(make_integer_sequence()); +// } +template +struct integer_sequence +{ + using value_type = T; + static constexpr std::size_t size() noexcept + { + return sizeof...(Ints); + } +}; + +// index_sequence +// +// A helper template for an `integer_sequence` of `size_t`, +// `absl::index_sequence` is designed to be a drop-in replacement for C++14's +// `std::index_sequence`. +template +using index_sequence = integer_sequence; + +namespace utility_internal +{ + +template +struct Extend; + +// Note that SeqSize == sizeof...(Ints). It's passed explicitly for efficiency. +template +struct Extend, SeqSize, 0> +{ + using type = integer_sequence < T, Ints..., (Ints + SeqSize)... >; +}; + +template +struct Extend, SeqSize, 1> +{ + using type = integer_sequence < T, Ints..., (Ints + SeqSize)..., 2 * SeqSize >; +}; + +// Recursion helper for 'make_integer_sequence'. +// 'Gen::type' is an alias for 'integer_sequence'. +template +struct Gen +{ + using type = + typename Extend < typename Gen < T, N / 2 >::type, N / 2, N % 2 >::type; +}; + +template +struct Gen +{ + using type = integer_sequence; +}; + +} // namespace utility_internal + +// Compile-time sequences of integers + +// make_integer_sequence +// +// This template alias is equivalent to +// `integer_sequence`, and is designed to be a drop-in +// replacement for C++14's `std::make_integer_sequence`. +template +using make_integer_sequence = typename utility_internal::Gen::type; + +// make_index_sequence +// +// This template alias is equivalent to `index_sequence<0, 1, ..., N-1>`, +// and is designed to be a drop-in replacement for C++14's +// `std::make_index_sequence`. +template +using make_index_sequence = make_integer_sequence; + +// index_sequence_for +// +// Converts a typename pack into an index sequence of the same length, and +// is designed to be a drop-in replacement for C++14's +// `std::index_sequence_for()` +template +using index_sequence_for = make_index_sequence; + +//// END OF CODE FROM GOOGLE ABSEIL + +#endif + +// dispatch utility (taken from ranges-v3) +template struct priority_tag : priority_tag < N - 1 > {}; +template<> struct priority_tag<0> {}; + +// taken from ranges-v3 +template +struct static_const +{ + static JSON_INLINE_VARIABLE constexpr T value{}; +}; + +#ifndef JSON_HAS_CPP_17 + template + constexpr T static_const::value; +#endif + +template +constexpr std::array make_array(Args&& ... args) +{ + return std::array {{static_cast(std::forward(args))...}}; +} + +} // namespace detail +NLOHMANN_JSON_NAMESPACE_END + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include // numeric_limits +#include // char_traits +#include // tuple +#include // false_type, is_constructible, is_integral, is_same, true_type +#include // declval + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include // random_access_iterator_tag + +// #include + +// #include + +// #include + + +NLOHMANN_JSON_NAMESPACE_BEGIN +namespace detail +{ + +template +struct iterator_types {}; + +template +struct iterator_types < + It, + void_t> +{ + using difference_type = typename It::difference_type; + using value_type = typename It::value_type; + using pointer = typename It::pointer; + using reference = typename It::reference; + using iterator_category = typename It::iterator_category; +}; + +// This is required as some compilers implement std::iterator_traits in a way that +// doesn't work with SFINAE. See https://github.com/nlohmann/json/issues/1341. +template +struct iterator_traits +{ +}; + +template +struct iterator_traits < T, enable_if_t < !std::is_pointer::value >> + : iterator_types +{ +}; + +template +struct iterator_traits::value>> +{ + using iterator_category = std::random_access_iterator_tag; + using value_type = T; + using difference_type = ptrdiff_t; + using pointer = T*; + using reference = T&; +}; + +} // namespace detail +NLOHMANN_JSON_NAMESPACE_END + +// #include + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +// #include + + +NLOHMANN_JSON_NAMESPACE_BEGIN + +NLOHMANN_CAN_CALL_STD_FUNC_IMPL(begin); + +NLOHMANN_JSON_NAMESPACE_END + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +// #include + + +NLOHMANN_JSON_NAMESPACE_BEGIN + +NLOHMANN_CAN_CALL_STD_FUNC_IMPL(end); + +NLOHMANN_JSON_NAMESPACE_END + +// #include + +// #include + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + +#ifndef INCLUDE_NLOHMANN_JSON_FWD_HPP_ + #define INCLUDE_NLOHMANN_JSON_FWD_HPP_ + + #include // int64_t, uint64_t + #include // map + #include // allocator + #include // string + #include // vector + + // #include + + + /*! + @brief namespace for Niels Lohmann + @see https://github.com/nlohmann + @since version 1.0.0 + */ + NLOHMANN_JSON_NAMESPACE_BEGIN + + /*! + @brief default JSONSerializer template argument + + This serializer ignores the template arguments and uses ADL + ([argument-dependent lookup](https://en.cppreference.com/w/cpp/language/adl)) + for serialization. + */ + template + struct adl_serializer; + + /// a class to store JSON values + /// @sa https://json.nlohmann.me/api/basic_json/ + template class ObjectType = + std::map, + template class ArrayType = std::vector, + class StringType = std::string, class BooleanType = bool, + class NumberIntegerType = std::int64_t, + class NumberUnsignedType = std::uint64_t, + class NumberFloatType = double, + template class AllocatorType = std::allocator, + template class JSONSerializer = + adl_serializer, + class BinaryType = std::vector, // cppcheck-suppress syntaxError + class CustomBaseClass = void> + class basic_json; + + /// @brief JSON Pointer defines a string syntax for identifying a specific value within a JSON document + /// @sa https://json.nlohmann.me/api/json_pointer/ + template + class json_pointer; + + /*! + @brief default specialization + @sa https://json.nlohmann.me/api/json/ + */ + using json = basic_json<>; + + /// @brief a minimal map-like container that preserves insertion order + /// @sa https://json.nlohmann.me/api/ordered_map/ + template + struct ordered_map; + + /// @brief specialization that maintains the insertion order of object keys + /// @sa https://json.nlohmann.me/api/ordered_json/ + using ordered_json = basic_json; + + NLOHMANN_JSON_NAMESPACE_END + +#endif // INCLUDE_NLOHMANN_JSON_FWD_HPP_ + + +NLOHMANN_JSON_NAMESPACE_BEGIN +/*! +@brief detail namespace with internal helper functions + +This namespace collects functions that should not be exposed, +implementations of some @ref basic_json methods, and meta-programming helpers. + +@since version 2.1.0 +*/ +namespace detail +{ + +///////////// +// helpers // +///////////// + +// Note to maintainers: +// +// Every trait in this file expects a non CV-qualified type. +// The only exceptions are in the 'aliases for detected' section +// (i.e. those of the form: decltype(T::member_function(std::declval()))) +// +// In this case, T has to be properly CV-qualified to constraint the function arguments +// (e.g. to_json(BasicJsonType&, const T&)) + +template struct is_basic_json : std::false_type {}; + +NLOHMANN_BASIC_JSON_TPL_DECLARATION +struct is_basic_json : std::true_type {}; + +// used by exceptions create() member functions +// true_type for pointer to possibly cv-qualified basic_json or std::nullptr_t +// false_type otherwise +template +struct is_basic_json_context : + std::integral_constant < bool, + is_basic_json::type>::type>::value + || std::is_same::value > +{}; + +////////////////////// +// json_ref helpers // +////////////////////// + +template +class json_ref; + +template +struct is_json_ref : std::false_type {}; + +template +struct is_json_ref> : std::true_type {}; + +////////////////////////// +// aliases for detected // +////////////////////////// + +template +using mapped_type_t = typename T::mapped_type; + +template +using key_type_t = typename T::key_type; + +template +using value_type_t = typename T::value_type; + +template +using difference_type_t = typename T::difference_type; + +template +using pointer_t = typename T::pointer; + +template +using reference_t = typename T::reference; + +template +using iterator_category_t = typename T::iterator_category; + +template +using to_json_function = decltype(T::to_json(std::declval()...)); + +template +using from_json_function = decltype(T::from_json(std::declval()...)); + +template +using get_template_function = decltype(std::declval().template get()); + +// trait checking if JSONSerializer::from_json(json const&, udt&) exists +template +struct has_from_json : std::false_type {}; + +// trait checking if j.get is valid +// use this trait instead of std::is_constructible or std::is_convertible, +// both rely on, or make use of implicit conversions, and thus fail when T +// has several constructors/operator= (see https://github.com/nlohmann/json/issues/958) +template +struct is_getable +{ + static constexpr bool value = is_detected::value; +}; + +template +struct has_from_json < BasicJsonType, T, enable_if_t < !is_basic_json::value >> +{ + using serializer = typename BasicJsonType::template json_serializer; + + static constexpr bool value = + is_detected_exact::value; +}; + +// This trait checks if JSONSerializer::from_json(json const&) exists +// this overload is used for non-default-constructible user-defined-types +template +struct has_non_default_from_json : std::false_type {}; + +template +struct has_non_default_from_json < BasicJsonType, T, enable_if_t < !is_basic_json::value >> +{ + using serializer = typename BasicJsonType::template json_serializer; + + static constexpr bool value = + is_detected_exact::value; +}; + +// This trait checks if BasicJsonType::json_serializer::to_json exists +// Do not evaluate the trait when T is a basic_json type, to avoid template instantiation infinite recursion. +template +struct has_to_json : std::false_type {}; + +template +struct has_to_json < BasicJsonType, T, enable_if_t < !is_basic_json::value >> +{ + using serializer = typename BasicJsonType::template json_serializer; + + static constexpr bool value = + is_detected_exact::value; +}; + +template +using detect_key_compare = typename T::key_compare; + +template +struct has_key_compare : std::integral_constant::value> {}; + +// obtains the actual object key comparator +template +struct actual_object_comparator +{ + using object_t = typename BasicJsonType::object_t; + using object_comparator_t = typename BasicJsonType::default_object_comparator_t; + using type = typename std::conditional < has_key_compare::value, + typename object_t::key_compare, object_comparator_t>::type; +}; + +template +using actual_object_comparator_t = typename actual_object_comparator::type; + +///////////////// +// char_traits // +///////////////// + +// Primary template of char_traits calls std char_traits +template +struct char_traits : std::char_traits +{}; + +// Explicitly define char traits for unsigned char since it is not standard +template<> +struct char_traits : std::char_traits +{ + using char_type = unsigned char; + using int_type = uint64_t; + + // Redefine to_int_type function + static int_type to_int_type(char_type c) noexcept + { + return static_cast(c); + } + + static char_type to_char_type(int_type i) noexcept + { + return static_cast(i); + } + + static constexpr int_type eof() noexcept + { + return static_cast(std::char_traits::eof()); + } +}; + +// Explicitly define char traits for signed char since it is not standard +template<> +struct char_traits : std::char_traits +{ + using char_type = signed char; + using int_type = uint64_t; + + // Redefine to_int_type function + static int_type to_int_type(char_type c) noexcept + { + return static_cast(c); + } + + static char_type to_char_type(int_type i) noexcept + { + return static_cast(i); + } + + static constexpr int_type eof() noexcept + { + return static_cast(std::char_traits::eof()); + } +}; + +/////////////////// +// is_ functions // +/////////////////// + +// https://en.cppreference.com/w/cpp/types/conjunction +template struct conjunction : std::true_type { }; +template struct conjunction : B { }; +template +struct conjunction +: std::conditional(B::value), conjunction, B>::type {}; + +// https://en.cppreference.com/w/cpp/types/negation +template struct negation : std::integral_constant < bool, !B::value > { }; + +// Reimplementation of is_constructible and is_default_constructible, due to them being broken for +// std::pair and std::tuple until LWG 2367 fix (see https://cplusplus.github.io/LWG/lwg-defects.html#2367). +// This causes compile errors in e.g. clang 3.5 or gcc 4.9. +template +struct is_default_constructible : std::is_default_constructible {}; + +template +struct is_default_constructible> + : conjunction, is_default_constructible> {}; + +template +struct is_default_constructible> + : conjunction, is_default_constructible> {}; + +template +struct is_default_constructible> + : conjunction...> {}; + +template +struct is_default_constructible> + : conjunction...> {}; + +template +struct is_constructible : std::is_constructible {}; + +template +struct is_constructible> : is_default_constructible> {}; + +template +struct is_constructible> : is_default_constructible> {}; + +template +struct is_constructible> : is_default_constructible> {}; + +template +struct is_constructible> : is_default_constructible> {}; + +template +struct is_iterator_traits : std::false_type {}; + +template +struct is_iterator_traits> +{ + private: + using traits = iterator_traits; + + public: + static constexpr auto value = + is_detected::value && + is_detected::value && + is_detected::value && + is_detected::value && + is_detected::value; +}; + +template +struct is_range +{ + private: + using t_ref = typename std::add_lvalue_reference::type; + + using iterator = detected_t; + using sentinel = detected_t; + + // to be 100% correct, it should use https://en.cppreference.com/w/cpp/iterator/input_or_output_iterator + // and https://en.cppreference.com/w/cpp/iterator/sentinel_for + // but reimplementing these would be too much work, as a lot of other concepts are used underneath + static constexpr auto is_iterator_begin = + is_iterator_traits>::value; + + public: + static constexpr bool value = !std::is_same::value && !std::is_same::value && is_iterator_begin; +}; + +template +using iterator_t = enable_if_t::value, result_of_begin())>>; + +template +using range_value_t = value_type_t>>; + +// The following implementation of is_complete_type is taken from +// https://blogs.msdn.microsoft.com/vcblog/2015/12/02/partial-support-for-expression-sfinae-in-vs-2015-update-1/ +// and is written by Xiang Fan who agreed to using it in this library. + +template +struct is_complete_type : std::false_type {}; + +template +struct is_complete_type : std::true_type {}; + +template +struct is_compatible_object_type_impl : std::false_type {}; + +template +struct is_compatible_object_type_impl < + BasicJsonType, CompatibleObjectType, + enable_if_t < is_detected::value&& + is_detected::value >> +{ + using object_t = typename BasicJsonType::object_t; + + // macOS's is_constructible does not play well with nonesuch... + static constexpr bool value = + is_constructible::value && + is_constructible::value; +}; + +template +struct is_compatible_object_type + : is_compatible_object_type_impl {}; + +template +struct is_constructible_object_type_impl : std::false_type {}; + +template +struct is_constructible_object_type_impl < + BasicJsonType, ConstructibleObjectType, + enable_if_t < is_detected::value&& + is_detected::value >> +{ + using object_t = typename BasicJsonType::object_t; + + static constexpr bool value = + (is_default_constructible::value && + (std::is_move_assignable::value || + std::is_copy_assignable::value) && + (is_constructible::value && + std::is_same < + typename object_t::mapped_type, + typename ConstructibleObjectType::mapped_type >::value)) || + (has_from_json::value || + has_non_default_from_json < + BasicJsonType, + typename ConstructibleObjectType::mapped_type >::value); +}; + +template +struct is_constructible_object_type + : is_constructible_object_type_impl {}; + +template +struct is_compatible_string_type +{ + static constexpr auto value = + is_constructible::value; +}; + +template +struct is_constructible_string_type +{ + // launder type through decltype() to fix compilation failure on ICPC +#ifdef __INTEL_COMPILER + using laundered_type = decltype(std::declval()); +#else + using laundered_type = ConstructibleStringType; +#endif + + static constexpr auto value = + conjunction < + is_constructible, + is_detected_exact>::value; +}; + +template +struct is_compatible_array_type_impl : std::false_type {}; + +template +struct is_compatible_array_type_impl < + BasicJsonType, CompatibleArrayType, + enable_if_t < + is_detected::value&& + is_iterator_traits>>::value&& +// special case for types like std::filesystem::path whose iterator's value_type are themselves +// c.f. https://github.com/nlohmann/json/pull/3073 + !std::is_same>::value >> +{ + static constexpr bool value = + is_constructible>::value; +}; + +template +struct is_compatible_array_type + : is_compatible_array_type_impl {}; + +template +struct is_constructible_array_type_impl : std::false_type {}; + +template +struct is_constructible_array_type_impl < + BasicJsonType, ConstructibleArrayType, + enable_if_t::value >> + : std::true_type {}; + +template +struct is_constructible_array_type_impl < + BasicJsonType, ConstructibleArrayType, + enable_if_t < !std::is_same::value&& + !is_compatible_string_type::value&& + is_default_constructible::value&& +(std::is_move_assignable::value || + std::is_copy_assignable::value)&& +is_detected::value&& +is_iterator_traits>>::value&& +is_detected::value&& +// special case for types like std::filesystem::path whose iterator's value_type are themselves +// c.f. https://github.com/nlohmann/json/pull/3073 +!std::is_same>::value&& +is_complete_type < +detected_t>::value >> +{ + using value_type = range_value_t; + + static constexpr bool value = + std::is_same::value || + has_from_json::value || + has_non_default_from_json < + BasicJsonType, + value_type >::value; +}; + +template +struct is_constructible_array_type + : is_constructible_array_type_impl {}; + +template +struct is_compatible_integer_type_impl : std::false_type {}; + +template +struct is_compatible_integer_type_impl < + RealIntegerType, CompatibleNumberIntegerType, + enable_if_t < std::is_integral::value&& + std::is_integral::value&& + !std::is_same::value >> +{ + // is there an assert somewhere on overflows? + using RealLimits = std::numeric_limits; + using CompatibleLimits = std::numeric_limits; + + static constexpr auto value = + is_constructible::value && + CompatibleLimits::is_integer && + RealLimits::is_signed == CompatibleLimits::is_signed; +}; + +template +struct is_compatible_integer_type + : is_compatible_integer_type_impl {}; + +template +struct is_compatible_type_impl: std::false_type {}; + +template +struct is_compatible_type_impl < + BasicJsonType, CompatibleType, + enable_if_t::value >> +{ + static constexpr bool value = + has_to_json::value; +}; + +template +struct is_compatible_type + : is_compatible_type_impl {}; + +template +struct is_constructible_tuple : std::false_type {}; + +template +struct is_constructible_tuple> : conjunction...> {}; + +template +struct is_json_iterator_of : std::false_type {}; + +template +struct is_json_iterator_of : std::true_type {}; + +template +struct is_json_iterator_of : std::true_type +{}; + +// checks if a given type T is a template specialization of Primary +template