From e7faafc4fec401d24080e5b2df12f964f1cfe123 Mon Sep 17 00:00:00 2001 From: Chafik Boukhalfa Date: Mon, 12 Oct 2026 08:32:57 +0400 Subject: [PATCH] Admit subspace16 complex supplier with full R420 replay --- .gitattributes | 3 + .github/workflows/subspace16-r420.yml | 37 + .../CROSS-PLATFORM.json | 49 + .../PRELIMINARY-CORRECTIONS.json | 20 + research/subspace16-r420-validation/README.md | 9 + .../linux-python312/RECEIPT.json | 125 + .../linux-python312/RESULT.json | 70 + .../linux-python312/STAGES.json | 98 + .../assembly/EXACT-ASSEMBLY.json | 207 + .../linux-python312/bit-r420/DRIVER.json | 10 + .../bit-r420/replay/RESULT11.json | 136 + .../bit-r420/replay/RESULT9.json | 63 + .../bit-r420/replay/cout/columns.json | 116 + .../bit-r420/replay/cout/columns_k4.json | 188 + .../bit-r420/replay/cout/columns_k5.json | 224 + .../bit-r420/replay/cout/legality.json | 42 + .../bit-r420/replay/mutants.json | 65 + .../bit-r420/replay/v9/hosted/AUDIT.json | 41 + .../replay/v9/hosted/GLOBAL-TEMPLATE.json.gz | Bin 0 -> 815563 bytes .../bit-r420/replay/v9/nine/GEOMETRY.json | 374726 +++++++++++++++ .../bit-r420/replay/xcheck.json | 47 + .../complex-audit/ASYNC-AUDIT.json | 47 + .../complex-audit/OWNERS-AND-PROFILE.json | 40 + .../complex-audit/PREFIX-AND-INVOICE.json | 106 + .../complex-local/CLIFFORD-REVIEW.json | 20 + .../INDEPENDENT-LOCAL-REPLAY.json | 58 + .../complex-local/LEMMA-A.json | 287 + .../linux-python312/sliced/RESULT.json | 4063 + .../static44/SCALAR-AUDIT.json | 56 + .../linux-python312/subspace16/RESULT.json | 37 + .../macos-python314/RECEIPT.json | 125 + .../macos-python314/RESULT.json | 70 + .../macos-python314/STAGES.json | 98 + .../assembly/EXACT-ASSEMBLY.json | 207 + .../macos-python314/bit-r420/DRIVER.json | 10 + .../bit-r420/replay/RESULT11.json | 136 + .../bit-r420/replay/RESULT9.json | 63 + .../bit-r420/replay/cout/columns.json | 116 + .../bit-r420/replay/cout/columns_k4.json | 188 + .../bit-r420/replay/cout/columns_k5.json | 224 + .../bit-r420/replay/cout/legality.json | 42 + .../bit-r420/replay/mutants.json | 65 + .../bit-r420/replay/v9/hosted/AUDIT.json | 41 + .../replay/v9/hosted/GLOBAL-TEMPLATE.json.gz | Bin 0 -> 815565 bytes .../bit-r420/replay/v9/nine/GEOMETRY.json | 374726 +++++++++++++++ .../bit-r420/replay/xcheck.json | 47 + .../complex-audit/ASYNC-AUDIT.json | 47 + .../complex-audit/OWNERS-AND-PROFILE.json | 40 + .../complex-audit/PREFIX-AND-INVOICE.json | 106 + .../complex-local/CLIFFORD-REVIEW.json | 20 + .../INDEPENDENT-LOCAL-REPLAY.json | 58 + .../complex-local/LEMMA-A.json | 287 + .../macos-python314/sliced/RESULT.json | 4063 + .../static44/SCALAR-AUDIT.json | 56 + .../macos-python314/subspace16/RESULT.json | 37 + research/subspace16-r420/EXPECTED.json | 41 + research/subspace16-r420/LICENSE | 201 + research/subspace16-r420/MANIFEST.json | 266 + research/subspace16-r420/NOTICE.md | 13 + research/subspace16-r420/README.md | 23 + .../subspace16-r420/SOURCE-GIT-BLOBS.json | 1721 + research/subspace16-r420/SOURCES.json | 288 + research/subspace16-r420/code/assemble.py | 176 + research/subspace16-r420/code/build_frames.py | 30 + research/subspace16-r420/code/phases_full.py | 39 + research/subspace16-r420/code/run.py | 16 + research/subspace16-r420/code/run_r420.py | 25 + research/subspace16-r420/code/slice.py | 36 + research/subspace16-r420/data/OWNERS.json.gz | Bin 0 -> 409252 bytes research/subspace16-r420/data/PLAN.json | 11387 + research/subspace16-r420/data/RECIPE.json | 1175 + research/subspace16-r420/proof/COMPOSITION.md | 55 + .../proof/PR510-MUTABLE-SOURCE-CARRYOVER.md | 125 + research/subspace16-r420/proof/SUBSPACE16.md | 33 + .../direct-delivery504-global/EXPECTED.json | 55 + .../e8-bit-carrier-skeleton/EXPECTED.json | 91 + .../vendor/e8-bit-carrier-skeleton/LICENSE | 201 + .../e8-bit-carrier-skeleton/MANIFEST.sha256 | 93 + .../vendor/e8-bit-carrier-skeleton/NOTICE.md | 69 + .../vendor/e8-bit-carrier-skeleton/README.md | 164 + .../e8-bit-carrier-skeleton/SOURCE-pr370.json | 69 + .../e8-bit-carrier-skeleton/SOURCE-pr381.json | 13 + .../e8-bit-carrier-skeleton/SOURCE-pr386.json | 17 + .../e8-bit-carrier-skeleton/SOURCE-pr436.json | 13 + .../e8-bit-carrier-skeleton/SOURCE-pr445.json | 25 + .../e8-bit-carrier-skeleton/SOURCE-pr448.json | 13 + .../e8-bit-carrier-skeleton/SOURCE-pr451.json | 25 + .../e8-bit-carrier-skeleton/SOURCE-pr458.json | 13 + .../e8-bit-carrier-skeleton/SOURCE-pr471.json | 13 + .../e8-bit-carrier-skeleton/SOURCE-pr472.json | 73 + .../e8-bit-carrier-skeleton/SOURCE-pr473.json | 13 + .../e8-bit-carrier-skeleton/SOURCE-pr478.json | 13 + .../e8-bit-carrier-skeleton/SOURCE-pr483.json | 13 + .../e8-bit-carrier-skeleton/SOURCE-pr484.json | 13 + .../code/bit/checkers/columns_h.cpp | 48 + .../code/bit/checkers/columns_k.cpp | 62 + .../code/bit/checkers/gram_frames.py | 54 + .../code/bit/checkers/json.hpp | 25526 + .../code/bit/checkers/legality_h.cpp | 13 + .../code/bit/export_records.py | 72 + .../code/bit/independent/checkword.py | 143 + .../code/bit/independent/interface.py | 84 + .../code/bit/independent/mutate.py | 31 + .../code/bit/independent/mutate_mut.py | 136 + .../code/bit/independent/relax.py | 33 + .../code/bit/mutate_records.py | 34 + .../code/bit/mutate_records_mut.py | 68 + .../code/bit/regression/stage_cohort.py | 12 + .../e8-bit-carrier-skeleton/code/cited.py | 23 + .../code/eleven/adapt.py | 76 + .../code/eleven/assemble.py | 102 + .../code/eleven/audit.py | 215 + .../code/eleven/emit.py | 288 + .../code/eleven/local_audit.py | 48 + .../hub/e8-r715-whole-hosted/code/assemble.py | 121 + .../hub/e8-r715-whole-hosted/code/audit.py | 213 + .../hub/e8-r715-whole-hosted/code/emit.py | 286 + .../e8-r715-whole-hosted/code/local_audit.py | 46 + .../e8-r715-whole-hosted/data/hosting.json | 519 + .../data/residual-isometries.json | 1344 + .../e8-r715-whole-hosted/data/word.json.gz | Bin 0 -> 55740 bytes .../hub/e8-r740-replica32/code/bank_routes.py | 65 + .../code/hub/e8-r740-replica32/code/e8core.py | 203 + .../code/engines/base_two_moment.py | 63 + .../e8-r740-replica32/code/engines/moment.py | 113 + .../e8-r740-replica32/code/engines/outer.py | 58 + .../code/hub/e8-r740-replica32/code/tile_m.py | 93 + .../data/residual-isometries.json | 1974 + .../hub/e8-r740-replica32/data/word.json.gz | Bin 0 -> 54461 bytes .../hub/idle-axis-hosting/hosting_core.py | 138 + .../code/hub/r740-hosted-eleven/code/emit.py | 261 + .../hub/r740-hosted-eleven/code/geometry.py | 111 + .../hub/r740-hosted-eleven/code/row_bound.py | 47 + .../r740-hosted-eleven/data/selection.json | 499 + .../code/hub/r740-hosted-rank149/code/emit.py | 261 + .../data/residual-isometries.json | 2230 + .../r740-hosted-rank149/data/selection.json | 661 + .../hub/r740-hosted-rank149/data/word.json.gz | Bin 0 -> 54626 bytes .../code/nine/geometry.py | 121 + .../code/pricing/base_two_moment.py | 63 + .../code/pricing/moment.py | 113 + .../code/pricing/outer.py | 58 + .../code/pricing/prime_witnesses.py | 99 + .../code/provenance.py | 28 + .../code/skeleton/e8.py | 131 + .../code/skeleton/gen.py | 438 + .../code/skeleton/geom.py | 148 + .../code/skeleton/wordkit.py | 336 + .../data/bit/bitE8-r865.json.gz | Bin 0 -> 33865 bytes .../data/bit/bitE8mut-r489.json.gz | Bin 0 -> 49154 bytes .../data/complex-b.json | 83 + .../data/complex/pr448/EXPECTED.json | 10 + .../data/complex/pr458/EXPECTED.json | 81 + .../data/complex/pr471/EXPECTED.json | 29 + .../data/complex/pr473/EXPECTED.json | 177 + .../data/complex/pr478/EXPECTED.json | 178 + .../data/complex/pr483/EXPECTED.json | 178 + .../data/complex/pr484/EXPECTED.json | 732 + .../data/eleven/hosting.json | 221 + .../data/eleven/residual-isometries.json | 101 + .../data/skeleton/d4part-pairs.json | 1 + .../data/skeleton/plan-skB.json | 1 + .../discovery/README.md | 25 + .../discovery/d4part.py | 49 + .../discovery/host_select.py | 77 + .../e8-bit-carrier-skeleton/discovery/plan.py | 210 + .../portable-include/bits/stdc++.h | 38 + .../e8-bit-carrier-skeleton/requirements.txt | 2 + .../vendor/e8-bit-carrier-skeleton/verify.sh | 150 + .../vendor/e8-bit-r420/DEPENDS.json | 18 + .../vendor/e8-bit-r420/EXPECTED.json | 239 + .../vendor/e8-bit-r420/LICENSE | 201 + .../vendor/e8-bit-r420/MANIFEST.sha256 | 48 + .../vendor/e8-bit-r420/NOTICE.md | 64 + .../vendor/e8-bit-r420/README.md | 218 + .../vendor/e8-bit-r420/SOURCE-pr510.json | 85 + .../vendor/e8-bit-r420/SOURCE-pr535.json | 17 + .../vendor/e8-bit-r420/code/adapt11.py | 34 + .../vendor/e8-bit-r420/code/cited.py | 25 + .../vendor/e8-bit-r420/code/gen_l3.py | 333 + .../vendor/e8-bit-r420/code/mutants.py | 160 + .../vendor/e8-bit-r420/code/mutrec_b.py | 64 + .../vendor/e8-bit-r420/code/nodeopt.py | 124 + .../vendor/e8-bit-r420/code/planio.py | 10 + .../vendor/e8-bit-r420/code/provenance.py | 63 + .../vendor/e8-bit-r420/code/summary.py | 76 + .../vendor/e8-bit-r420/code/xcheck.py | 375 + .../e8-bit-r420/data/bitE8mut-r420.json.gz | Bin 0 -> 45278 bytes .../vendor/e8-bit-r420/data/complex-b.json | 65 + .../complex/pr535/EXACT-ASSEMBLY-PR493.json | 127 + .../data/complex/pr535/EXPECTED.json | 62 + .../e8-bit-r420/data/hosting11-r420.json | 213 + .../vendor/e8-bit-r420/data/plan-l3.json | 1 + .../e8-bit-r420/data/selection9-r420.json | 167 + .../vendor/e8-bit-r420/discovery/README.md | 24 + .../vendor/e8-bit-r420/discovery/planL3.py | 214 + .../vendor/e8-bit-r420/discovery/planL3b.py | 67 + .../vendor/e8-bit-r420/requirements.txt | 3 + .../data/bitE8mut-r480.json.gz | Bin 0 -> 49414 bytes .../pr510/e8-r480-nine-stage/EXPECTED.json | 102 + .../pr510/e8-r480-nine-stage/code/adapt.py | 25 + .../e8-r480-nine-stage/code/assemble9.py | 66 + .../data/selection9-r480.json | 150 + .../code/audit_hosted_k.py | 157 + .../code/audit_parent_k.py | 165 + .../code/bank_routes_k.py | 35 + .../e8-r715-eleven-stage-whole/code/emit_k.py | 130 + .../code/global_k.py | 264 + .../code/hosting_k.py | 69 + .../e8-r740-replica32/code/bank_routes.py | 65 + .../vendor/e8-r740-replica32/code/config.py | 2 + .../vendor/e8-r740-replica32/code/e8core.py | 203 + .../code/engines/base_two_moment.py | 63 + .../e8-r740-replica32/code/engines/moment.py | 113 + .../e8-r740-replica32/code/engines/outer.py | 58 + .../vendor/e8-r740-replica32/code/tile_m.py | 93 + .../vendor/idle-axis-hosting/hosting_core.py | 138 + .../vendor/e8-bit-r420/verify.sh | 175 + .../vendor/pr531/EXPECTED.json | 55 + research/subspace16-r420/vendor/pr531/LICENSE | 201 + .../vendor/pr531/LOCAL-VALIDATION.json | 10802 + .../vendor/pr531/MANIFEST.json | 82 + .../subspace16-r420/vendor/pr531/NOTICE.md | 24 + .../subspace16-r420/vendor/pr531/README.md | 119 + .../subspace16-r420/vendor/pr531/SOURCES.json | 63 + .../vendor/pr531/code/adapters_local.py | 60 + .../vendor/pr531/code/assemble.py | 42 + .../vendor/pr531/code/audit_and_transport.py | 222 + .../vendor/pr531/code/audit_local.py | 144 + .../code/audit_same_partition_frontier.py | 168 + .../pr531/code/audit_supplier_hosted.py | 155 + .../vendor/pr531/code/build_selected.py | 51 + .../vendor/pr531/code/coalesce_frames.py | 270 + .../vendor/pr531/code/construct_504.py | 333 + .../vendor/pr531/code/emit_local.py | 156 + .../vendor/pr531/code/emit_supplier_hosted.py | 100 + .../vendor/pr531/code/invoice_final.py | 299 + .../vendor/pr531/code/phases_delta.py | 158 + .../pr531/code/prepare_supplier_base.py | 95 + .../pr531/evidence/BEFORE-COALESCING.json.gz | Bin 0 -> 38304 bytes .../vendor/pr531/evidence/COALESCING.json | 6710 + .../pr531/evidence/DISCOVERY-MOMENT.json | 15 + .../evidence/ENTRANCE-SELECTION-SCREEN.json | 56 + .../vendor/pr531/evidence/FAST-REPLAY.json | 45 + .../pr531/evidence/LINE-GAUGE-SELECTION.json | 810 + .../evidence/PR523-FIXED-WORD-CEILING.json | 1077 + .../pr531/evidence/PUBLIC-SNAPSHOT.json | 47 + .../evidence/SAME-PARTITION-FRONTIER.json | 10715 + .../pr531/evidence/VERIFICATION-SCOPE.json | 28 + .../pr531/evidence/audit/ASYNC-AUDIT.json | 37 + .../pr531/evidence/audit/EXACT-ASSEMBLY.json | 127 + .../pr531/evidence/audit/GLOBAL-PREFIX.json | 14 + .../evidence/audit/IDLE-REMAINDER-FRAMES.json | 15 + .../evidence/audit/OWNERS-AND-PROFILE.json | 39 + .../evidence/audit/PREFIX-AND-INVOICE.json | 105 + .../evidence/hosted/ACTUAL-SIGMAS.json.gz | Bin 0 -> 134121 bytes .../evidence/hosted/GLOBAL-TEMPLATE.json.gz | Bin 0 -> 814178 bytes .../vendor/pr531/evidence/hosted/HOSTED.json | 49 + .../hosted/IDLE-REMAINDER-FRAMES.json.gz | Bin 0 -> 53886 bytes .../evidence/local/CANONICAL-WORD.json.gz | Bin 0 -> 75113 bytes .../evidence/local/CLIFFORD-RECIPES.json | 1 + .../pr531/evidence/local/CLIFFORD-REVIEW.json | 6756 + .../pr531/evidence/local/FULL-WORD.json.gz | Bin 0 -> 38164 bytes .../local/INDEPENDENT-LOCAL-REPLAY.json | 60 + .../vendor/pr531/evidence/local/LEMMA-A.json | 85 + .../pr531/evidence/local/LOCAL-CHECKS.json | 38 + .../evidence/local/LOCAL-PROGRAMS.json.gz | Bin 0 -> 187483 bytes .../evidence/local/RESIDUAL-ADAPTERS.json | 1 + .../evidence/local/SCALAR-FRAME-AUDIT.json | 533 + .../vendor/pr531/inputs/ASYNC-6.json | 12123 + .../vendor/pr531/inputs/OWNER-PLAN.json | 13293 + .../vendor/pr531/inputs/OWNERS.json.gz | Bin 0 -> 405076 bytes .../vendor/pr531/inputs/PR493-EXPECTED.json | 91 + .../vendor/pr531/inputs/PR523-ANCESTRY.json | 118 + .../pr531/inputs/PR523-EXACT-ASSEMBLY.json | 127 + .../inputs/PR523-PREFIX-AND-INVOICE.json | 69 + .../vendor/pr531/inputs/SELECTION.json | 484 + .../split-centres/CANONICAL-WORD.json.gz | Bin 0 -> 84988 bytes .../split-centres/GLOBAL-TEMPLATE.json.gz | Bin 0 -> 422351 bytes .../work/complex-nine-native/DATA-PHASES.json | 1 + .../pr361/code/engines/base_two_moment.py | 63 + .../work/pr361/code/engines/moment.py | 113 + .../work/pr361/code/engines/outer.py | 58 + .../inputs/hamming/PACKET-PROGRAMS.json.gz | Bin 0 -> 3400 bytes .../pr531/inputs/hamming/PROTOTYPE.json | 21364 + .../phase-baseline/CANONICAL-WORD.json.gz | Bin 0 -> 84988 bytes .../phase-baseline/CLIFFORD-RECIPES.json | 1 + .../phase-baseline/CLIFFORD-REVIEW.json | 21 + .../inputs/phase-baseline/LOCAL-CHECKS.json | 40 + .../pr531/proof/DELIVERY-AND-COALESCING.md | 277 + .../vendor/pr531/proof/GLOBAL-HOSTING.md | 119 + .../vendor/pr531/proof/LOCAL-CONSTRUCTION.md | 261 + .../pr531/vendor/clifford/clifford_exact.py | 149 + .../vendor/pr531/vendor/gk/gk_common.py | 94 + .../vendor/pr531/vendor/gk/gk_word.py | 194 + .../vendor/pr531/verify_fast.py | 132 + .../evidence/local/CANONICAL-WORD.json.gz | Bin 0 -> 75113 bytes .../inputs/ROUND20-PARENT-TEMPLATE.json.gz | Bin 0 -> 393948 bytes .../complex-local/code/apply_syndrome.py | 23 + .../pr548/complex-local/code/port_frames.py | 50 + .../complex-local/docs/OPENAI-SOURCES.json | 22 + .../complex-local/docs/TWO-SOURCE-PROOF.md | 64 + .../complex-local/inputs/PR534-WORD.json.gz | Bin 0 -> 38085 bytes .../vendor/pr548/docs/PR-LINEAGE.md | 15 + .../subspace16-r420/vendor/static44/LICENSE | 201 + .../vendor/static44/META-SOURCES.json | 24 + .../vendor/static44/NOTICE-upstream.md | 70 + .../subspace16-r420/vendor/static44/PROOF.md | 61 + .../subspace16-r420/vendor/static44/README.md | 7 + .../vendor/static44/RECIPE.json | 168 + .../vendor/static44/SOURCE-MANIFEST.json | 16 + .../vendor/static44/audit_scalar.py | 55 + .../subspace16-r420/vendor/static44/build.py | 30 + .../vendor/static44/gk/gk_common.py | 94 + .../vendor/static44/gk/gk_word.py | 194 + .../vendor/static44/inputs/BASE535.json.gz | Bin 0 -> 36660 bytes .../vendor/static44/inputs/OLD-RECIPE.json | 1163 + .../vendor/static44/inputs/RAW504.json.gz | Bin 0 -> 32146 bytes .../subspace16-r420/vendor/static44/replay.py | 9 + research/subspace16-r420/verify.py | 64 + 320 files changed, 916417 insertions(+) create mode 100644 .github/workflows/subspace16-r420.yml create mode 100644 research/subspace16-r420-validation/CROSS-PLATFORM.json create mode 100644 research/subspace16-r420-validation/PRELIMINARY-CORRECTIONS.json create mode 100644 research/subspace16-r420-validation/README.md create mode 100644 research/subspace16-r420-validation/linux-python312/RECEIPT.json create mode 100644 research/subspace16-r420-validation/linux-python312/RESULT.json create mode 100644 research/subspace16-r420-validation/linux-python312/STAGES.json create mode 100644 research/subspace16-r420-validation/linux-python312/assembly/EXACT-ASSEMBLY.json create mode 100644 research/subspace16-r420-validation/linux-python312/bit-r420/DRIVER.json create mode 100644 research/subspace16-r420-validation/linux-python312/bit-r420/replay/RESULT11.json create mode 100644 research/subspace16-r420-validation/linux-python312/bit-r420/replay/RESULT9.json create mode 100644 research/subspace16-r420-validation/linux-python312/bit-r420/replay/cout/columns.json create mode 100644 research/subspace16-r420-validation/linux-python312/bit-r420/replay/cout/columns_k4.json create mode 100644 research/subspace16-r420-validation/linux-python312/bit-r420/replay/cout/columns_k5.json create mode 100644 research/subspace16-r420-validation/linux-python312/bit-r420/replay/cout/legality.json create mode 100644 research/subspace16-r420-validation/linux-python312/bit-r420/replay/mutants.json create mode 100644 research/subspace16-r420-validation/linux-python312/bit-r420/replay/v9/hosted/AUDIT.json create mode 100644 research/subspace16-r420-validation/linux-python312/bit-r420/replay/v9/hosted/GLOBAL-TEMPLATE.json.gz create mode 100644 research/subspace16-r420-validation/linux-python312/bit-r420/replay/v9/nine/GEOMETRY.json create mode 100644 research/subspace16-r420-validation/linux-python312/bit-r420/replay/xcheck.json create mode 100644 research/subspace16-r420-validation/linux-python312/complex-audit/ASYNC-AUDIT.json create mode 100644 research/subspace16-r420-validation/linux-python312/complex-audit/OWNERS-AND-PROFILE.json create mode 100644 research/subspace16-r420-validation/linux-python312/complex-audit/PREFIX-AND-INVOICE.json create mode 100644 research/subspace16-r420-validation/linux-python312/complex-local/CLIFFORD-REVIEW.json create mode 100644 research/subspace16-r420-validation/linux-python312/complex-local/INDEPENDENT-LOCAL-REPLAY.json create mode 100644 research/subspace16-r420-validation/linux-python312/complex-local/LEMMA-A.json create mode 100644 research/subspace16-r420-validation/linux-python312/sliced/RESULT.json create mode 100644 research/subspace16-r420-validation/linux-python312/static44/SCALAR-AUDIT.json create mode 100644 research/subspace16-r420-validation/linux-python312/subspace16/RESULT.json create mode 100644 research/subspace16-r420-validation/macos-python314/RECEIPT.json create mode 100644 research/subspace16-r420-validation/macos-python314/RESULT.json create mode 100644 research/subspace16-r420-validation/macos-python314/STAGES.json create mode 100644 research/subspace16-r420-validation/macos-python314/assembly/EXACT-ASSEMBLY.json create mode 100644 research/subspace16-r420-validation/macos-python314/bit-r420/DRIVER.json create mode 100644 research/subspace16-r420-validation/macos-python314/bit-r420/replay/RESULT11.json create mode 100644 research/subspace16-r420-validation/macos-python314/bit-r420/replay/RESULT9.json create mode 100644 research/subspace16-r420-validation/macos-python314/bit-r420/replay/cout/columns.json create mode 100644 research/subspace16-r420-validation/macos-python314/bit-r420/replay/cout/columns_k4.json create mode 100644 research/subspace16-r420-validation/macos-python314/bit-r420/replay/cout/columns_k5.json create mode 100644 research/subspace16-r420-validation/macos-python314/bit-r420/replay/cout/legality.json create mode 100644 research/subspace16-r420-validation/macos-python314/bit-r420/replay/mutants.json create mode 100644 research/subspace16-r420-validation/macos-python314/bit-r420/replay/v9/hosted/AUDIT.json create mode 100644 research/subspace16-r420-validation/macos-python314/bit-r420/replay/v9/hosted/GLOBAL-TEMPLATE.json.gz create mode 100644 research/subspace16-r420-validation/macos-python314/bit-r420/replay/v9/nine/GEOMETRY.json create mode 100644 research/subspace16-r420-validation/macos-python314/bit-r420/replay/xcheck.json create mode 100644 research/subspace16-r420-validation/macos-python314/complex-audit/ASYNC-AUDIT.json create mode 100644 research/subspace16-r420-validation/macos-python314/complex-audit/OWNERS-AND-PROFILE.json create mode 100644 research/subspace16-r420-validation/macos-python314/complex-audit/PREFIX-AND-INVOICE.json create mode 100644 research/subspace16-r420-validation/macos-python314/complex-local/CLIFFORD-REVIEW.json create mode 100644 research/subspace16-r420-validation/macos-python314/complex-local/INDEPENDENT-LOCAL-REPLAY.json create mode 100644 research/subspace16-r420-validation/macos-python314/complex-local/LEMMA-A.json create mode 100644 research/subspace16-r420-validation/macos-python314/sliced/RESULT.json create mode 100644 research/subspace16-r420-validation/macos-python314/static44/SCALAR-AUDIT.json create mode 100644 research/subspace16-r420-validation/macos-python314/subspace16/RESULT.json create mode 100644 research/subspace16-r420/EXPECTED.json create mode 100644 research/subspace16-r420/LICENSE create mode 100644 research/subspace16-r420/MANIFEST.json create mode 100644 research/subspace16-r420/NOTICE.md create mode 100644 research/subspace16-r420/README.md create mode 100644 research/subspace16-r420/SOURCE-GIT-BLOBS.json create mode 100644 research/subspace16-r420/SOURCES.json create mode 100644 research/subspace16-r420/code/assemble.py create mode 100644 research/subspace16-r420/code/build_frames.py create mode 100644 research/subspace16-r420/code/phases_full.py create mode 100644 research/subspace16-r420/code/run.py create mode 100644 research/subspace16-r420/code/run_r420.py create mode 100644 research/subspace16-r420/code/slice.py create mode 100644 research/subspace16-r420/data/OWNERS.json.gz create mode 100644 research/subspace16-r420/data/PLAN.json create mode 100644 research/subspace16-r420/data/RECIPE.json create mode 100644 research/subspace16-r420/proof/COMPOSITION.md create mode 100644 research/subspace16-r420/proof/PR510-MUTABLE-SOURCE-CARRYOVER.md create mode 100644 research/subspace16-r420/proof/SUBSPACE16.md create mode 100644 research/subspace16-r420/vendor/direct-delivery504-global/EXPECTED.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/EXPECTED.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/LICENSE create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/MANIFEST.sha256 create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/NOTICE.md create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/README.md create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr370.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr381.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr386.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr436.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr445.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr448.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr451.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr458.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr471.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr472.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr473.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr478.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr483.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/SOURCE-pr484.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/bit/checkers/columns_h.cpp create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/bit/checkers/columns_k.cpp create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/bit/checkers/gram_frames.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/bit/checkers/json.hpp create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/bit/checkers/legality_h.cpp create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/bit/export_records.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/bit/independent/checkword.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/bit/independent/interface.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/bit/independent/mutate.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/bit/independent/mutate_mut.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/bit/independent/relax.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/bit/mutate_records.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/bit/mutate_records_mut.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/bit/regression/stage_cohort.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/cited.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/eleven/adapt.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/eleven/assemble.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/eleven/audit.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/eleven/emit.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/eleven/local_audit.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/code/assemble.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/code/audit.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/code/emit.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/code/local_audit.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/data/hosting.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/data/residual-isometries.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/data/word.json.gz create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/bank_routes.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/e8core.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/engines/base_two_moment.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/engines/moment.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/engines/outer.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/tile_m.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/data/residual-isometries.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/data/word.json.gz create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/hub/idle-axis-hosting/hosting_core.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-eleven/code/emit.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-eleven/code/geometry.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-eleven/code/row_bound.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-eleven/data/selection.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-rank149/code/emit.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-rank149/data/residual-isometries.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-rank149/data/selection.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/hub/r740-hosted-rank149/data/word.json.gz create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/nine/geometry.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/pricing/base_two_moment.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/pricing/moment.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/pricing/outer.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/pricing/prime_witnesses.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/provenance.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/skeleton/e8.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/skeleton/gen.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/skeleton/geom.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/code/skeleton/wordkit.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/data/bit/bitE8-r865.json.gz create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/data/bit/bitE8mut-r489.json.gz create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/data/complex-b.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/data/complex/pr448/EXPECTED.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/data/complex/pr458/EXPECTED.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/data/complex/pr471/EXPECTED.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/data/complex/pr473/EXPECTED.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/data/complex/pr478/EXPECTED.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/data/complex/pr483/EXPECTED.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/data/complex/pr484/EXPECTED.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/data/eleven/hosting.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/data/eleven/residual-isometries.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/data/skeleton/d4part-pairs.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/data/skeleton/plan-skB.json create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/discovery/README.md create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/discovery/d4part.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/discovery/host_select.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/discovery/plan.py create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/portable-include/bits/stdc++.h create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/requirements.txt create mode 100644 research/subspace16-r420/vendor/e8-bit-carrier-skeleton/verify.sh create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/DEPENDS.json create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/EXPECTED.json create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/LICENSE create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/MANIFEST.sha256 create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/NOTICE.md create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/README.md create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/SOURCE-pr510.json create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/SOURCE-pr535.json create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/code/adapt11.py create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/code/cited.py create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/code/gen_l3.py create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/code/mutants.py create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/code/mutrec_b.py create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/code/nodeopt.py create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/code/planio.py create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/code/provenance.py create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/code/summary.py create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/code/xcheck.py create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/data/bitE8mut-r420.json.gz create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/data/complex-b.json create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/data/complex/pr535/EXACT-ASSEMBLY-PR493.json create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/data/complex/pr535/EXPECTED.json create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/data/hosting11-r420.json create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/data/plan-l3.json create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/data/selection9-r420.json create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/discovery/README.md create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/discovery/planL3.py create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/discovery/planL3b.py create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/requirements.txt create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/vendor/pr510/e8-r480-dead-totals/data/bitE8mut-r480.json.gz create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/EXPECTED.json create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/code/adapt.py create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/code/assemble9.py create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/data/selection9-r480.json create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/audit_hosted_k.py create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/audit_parent_k.py create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/bank_routes_k.py create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/emit_k.py create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/global_k.py create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/hosting_k.py create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/bank_routes.py create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/config.py create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/e8core.py create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/engines/base_two_moment.py create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/engines/moment.py create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/engines/outer.py create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/tile_m.py create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/vendor/pr510/e8-r480-nine-stage/vendor/idle-axis-hosting/hosting_core.py create mode 100644 research/subspace16-r420/vendor/e8-bit-r420/verify.sh create mode 100644 research/subspace16-r420/vendor/pr531/EXPECTED.json create mode 100644 research/subspace16-r420/vendor/pr531/LICENSE create mode 100644 research/subspace16-r420/vendor/pr531/LOCAL-VALIDATION.json create mode 100644 research/subspace16-r420/vendor/pr531/MANIFEST.json create mode 100644 research/subspace16-r420/vendor/pr531/NOTICE.md create mode 100644 research/subspace16-r420/vendor/pr531/README.md create mode 100644 research/subspace16-r420/vendor/pr531/SOURCES.json create mode 100644 research/subspace16-r420/vendor/pr531/code/adapters_local.py create mode 100644 research/subspace16-r420/vendor/pr531/code/assemble.py create mode 100644 research/subspace16-r420/vendor/pr531/code/audit_and_transport.py create mode 100644 research/subspace16-r420/vendor/pr531/code/audit_local.py create mode 100644 research/subspace16-r420/vendor/pr531/code/audit_same_partition_frontier.py create mode 100644 research/subspace16-r420/vendor/pr531/code/audit_supplier_hosted.py create mode 100644 research/subspace16-r420/vendor/pr531/code/build_selected.py create mode 100644 research/subspace16-r420/vendor/pr531/code/coalesce_frames.py create mode 100644 research/subspace16-r420/vendor/pr531/code/construct_504.py create mode 100644 research/subspace16-r420/vendor/pr531/code/emit_local.py create mode 100644 research/subspace16-r420/vendor/pr531/code/emit_supplier_hosted.py create mode 100644 research/subspace16-r420/vendor/pr531/code/invoice_final.py create mode 100644 research/subspace16-r420/vendor/pr531/code/phases_delta.py create mode 100644 research/subspace16-r420/vendor/pr531/code/prepare_supplier_base.py create mode 100644 research/subspace16-r420/vendor/pr531/evidence/BEFORE-COALESCING.json.gz create mode 100644 research/subspace16-r420/vendor/pr531/evidence/COALESCING.json create mode 100644 research/subspace16-r420/vendor/pr531/evidence/DISCOVERY-MOMENT.json create mode 100644 research/subspace16-r420/vendor/pr531/evidence/ENTRANCE-SELECTION-SCREEN.json create mode 100644 research/subspace16-r420/vendor/pr531/evidence/FAST-REPLAY.json create mode 100644 research/subspace16-r420/vendor/pr531/evidence/LINE-GAUGE-SELECTION.json create mode 100644 research/subspace16-r420/vendor/pr531/evidence/PR523-FIXED-WORD-CEILING.json create mode 100644 research/subspace16-r420/vendor/pr531/evidence/PUBLIC-SNAPSHOT.json create mode 100644 research/subspace16-r420/vendor/pr531/evidence/SAME-PARTITION-FRONTIER.json create mode 100644 research/subspace16-r420/vendor/pr531/evidence/VERIFICATION-SCOPE.json create mode 100644 research/subspace16-r420/vendor/pr531/evidence/audit/ASYNC-AUDIT.json create mode 100644 research/subspace16-r420/vendor/pr531/evidence/audit/EXACT-ASSEMBLY.json create mode 100644 research/subspace16-r420/vendor/pr531/evidence/audit/GLOBAL-PREFIX.json create mode 100644 research/subspace16-r420/vendor/pr531/evidence/audit/IDLE-REMAINDER-FRAMES.json create mode 100644 research/subspace16-r420/vendor/pr531/evidence/audit/OWNERS-AND-PROFILE.json create mode 100644 research/subspace16-r420/vendor/pr531/evidence/audit/PREFIX-AND-INVOICE.json create mode 100644 research/subspace16-r420/vendor/pr531/evidence/hosted/ACTUAL-SIGMAS.json.gz create mode 100644 research/subspace16-r420/vendor/pr531/evidence/hosted/GLOBAL-TEMPLATE.json.gz create mode 100644 research/subspace16-r420/vendor/pr531/evidence/hosted/HOSTED.json create mode 100644 research/subspace16-r420/vendor/pr531/evidence/hosted/IDLE-REMAINDER-FRAMES.json.gz create mode 100644 research/subspace16-r420/vendor/pr531/evidence/local/CANONICAL-WORD.json.gz create mode 100644 research/subspace16-r420/vendor/pr531/evidence/local/CLIFFORD-RECIPES.json create mode 100644 research/subspace16-r420/vendor/pr531/evidence/local/CLIFFORD-REVIEW.json create mode 100644 research/subspace16-r420/vendor/pr531/evidence/local/FULL-WORD.json.gz create mode 100644 research/subspace16-r420/vendor/pr531/evidence/local/INDEPENDENT-LOCAL-REPLAY.json create mode 100644 research/subspace16-r420/vendor/pr531/evidence/local/LEMMA-A.json create mode 100644 research/subspace16-r420/vendor/pr531/evidence/local/LOCAL-CHECKS.json create mode 100644 research/subspace16-r420/vendor/pr531/evidence/local/LOCAL-PROGRAMS.json.gz create mode 100644 research/subspace16-r420/vendor/pr531/evidence/local/RESIDUAL-ADAPTERS.json create mode 100644 research/subspace16-r420/vendor/pr531/evidence/local/SCALAR-FRAME-AUDIT.json create mode 100644 research/subspace16-r420/vendor/pr531/inputs/ASYNC-6.json create mode 100644 research/subspace16-r420/vendor/pr531/inputs/OWNER-PLAN.json create mode 100644 research/subspace16-r420/vendor/pr531/inputs/OWNERS.json.gz create mode 100644 research/subspace16-r420/vendor/pr531/inputs/PR493-EXPECTED.json create mode 100644 research/subspace16-r420/vendor/pr531/inputs/PR523-ANCESTRY.json create mode 100644 research/subspace16-r420/vendor/pr531/inputs/PR523-EXACT-ASSEMBLY.json create mode 100644 research/subspace16-r420/vendor/pr531/inputs/PR523-PREFIX-AND-INVOICE.json create mode 100644 research/subspace16-r420/vendor/pr531/inputs/SELECTION.json create mode 100644 research/subspace16-r420/vendor/pr531/inputs/data-base/split-centres/CANONICAL-WORD.json.gz create mode 100644 research/subspace16-r420/vendor/pr531/inputs/data-base/split-centres/GLOBAL-TEMPLATE.json.gz create mode 100644 research/subspace16-r420/vendor/pr531/inputs/data-base/work/complex-nine-native/DATA-PHASES.json create mode 100644 research/subspace16-r420/vendor/pr531/inputs/data-base/work/pr361/code/engines/base_two_moment.py create mode 100644 research/subspace16-r420/vendor/pr531/inputs/data-base/work/pr361/code/engines/moment.py create mode 100644 research/subspace16-r420/vendor/pr531/inputs/data-base/work/pr361/code/engines/outer.py create mode 100644 research/subspace16-r420/vendor/pr531/inputs/hamming/PACKET-PROGRAMS.json.gz create mode 100644 research/subspace16-r420/vendor/pr531/inputs/hamming/PROTOTYPE.json create mode 100644 research/subspace16-r420/vendor/pr531/inputs/phase-baseline/CANONICAL-WORD.json.gz create mode 100644 research/subspace16-r420/vendor/pr531/inputs/phase-baseline/CLIFFORD-RECIPES.json create mode 100644 research/subspace16-r420/vendor/pr531/inputs/phase-baseline/CLIFFORD-REVIEW.json create mode 100644 research/subspace16-r420/vendor/pr531/inputs/phase-baseline/LOCAL-CHECKS.json create mode 100644 research/subspace16-r420/vendor/pr531/proof/DELIVERY-AND-COALESCING.md create mode 100644 research/subspace16-r420/vendor/pr531/proof/GLOBAL-HOSTING.md create mode 100644 research/subspace16-r420/vendor/pr531/proof/LOCAL-CONSTRUCTION.md create mode 100644 research/subspace16-r420/vendor/pr531/vendor/clifford/clifford_exact.py create mode 100644 research/subspace16-r420/vendor/pr531/vendor/gk/gk_common.py create mode 100644 research/subspace16-r420/vendor/pr531/vendor/gk/gk_word.py create mode 100644 research/subspace16-r420/vendor/pr531/verify_fast.py create mode 100644 research/subspace16-r420/vendor/pr548/complex-global/vendor531/evidence/local/CANONICAL-WORD.json.gz create mode 100644 research/subspace16-r420/vendor/pr548/complex-global/vendor535/inputs/ROUND20-PARENT-TEMPLATE.json.gz create mode 100644 research/subspace16-r420/vendor/pr548/complex-local/code/apply_syndrome.py create mode 100644 research/subspace16-r420/vendor/pr548/complex-local/code/port_frames.py create mode 100644 research/subspace16-r420/vendor/pr548/complex-local/docs/OPENAI-SOURCES.json create mode 100644 research/subspace16-r420/vendor/pr548/complex-local/docs/TWO-SOURCE-PROOF.md create mode 100644 research/subspace16-r420/vendor/pr548/complex-local/inputs/PR534-WORD.json.gz create mode 100644 research/subspace16-r420/vendor/pr548/docs/PR-LINEAGE.md create mode 100644 research/subspace16-r420/vendor/static44/LICENSE create mode 100644 research/subspace16-r420/vendor/static44/META-SOURCES.json create mode 100644 research/subspace16-r420/vendor/static44/NOTICE-upstream.md create mode 100644 research/subspace16-r420/vendor/static44/PROOF.md create mode 100644 research/subspace16-r420/vendor/static44/README.md create mode 100644 research/subspace16-r420/vendor/static44/RECIPE.json create mode 100644 research/subspace16-r420/vendor/static44/SOURCE-MANIFEST.json create mode 100644 research/subspace16-r420/vendor/static44/audit_scalar.py create mode 100644 research/subspace16-r420/vendor/static44/build.py create mode 100644 research/subspace16-r420/vendor/static44/gk/gk_common.py create mode 100644 research/subspace16-r420/vendor/static44/gk/gk_word.py create mode 100644 research/subspace16-r420/vendor/static44/inputs/BASE535.json.gz create mode 100644 research/subspace16-r420/vendor/static44/inputs/OLD-RECIPE.json create mode 100644 research/subspace16-r420/vendor/static44/inputs/RAW504.json.gz create mode 100644 research/subspace16-r420/vendor/static44/replay.py create mode 100644 research/subspace16-r420/verify.py 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 0000000000000000000000000000000000000000..6bd807a5b957418d0452363f8ebfb2f3b986abfd GIT binary patch literal 815563 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

7+Stag zI>wyhjWBlETO|6nIq*I7_1HEf{^-ODXznh$%xfL9-~IiW3++vRQW-UKdRwlm`^U>< zYlB7$&9^hnQyDMx*|N&E+ym~5mtC$6+Uq`Y<~VzaiXc~a@0s)LA|3|qbN|r0!E1ZC zk;0r}u_Db3o7HhDm;4EGH&U1jXncl^8Xytx1|Ndv6iX7cI!>FQ7Y3GjJrT?(^P!8^ z6Aik&ad-S`o6j%p_ZIPbve#(LT!mRhBQnOT0UG5k;zQ6J1qp&y+pHzX>&ZESW)&?b z=*59zMPoBG)ohe6P4@QpdE#m$K1V^4pw%{71bICPAxNxf4MED6juQmdTtF`l+-D>_ z=c+`}=nU!AHtQ}4cyIE05=_vnB2|KxU-BRbths=|QUe5*4?)id@=RJ4darc)CwX+I zYNSU-C)`WjG~1|dcH@(B>4^)i1@CvqtGj-&>Bf=XhDl=DdKUFH@>f;U3j{aTuX*x; zn6|vd1(P2QT)!y&=}N%QJ27C?efybw!l9q%D~CxxJQ`qHf*HFSIQ>95AE+Au$^evs z@u1HPQHMrsEX;ObSAu6&lPunXaaUT)CU;_<2YZ?hb{aY34DY=7VP;(3mBxDKB%%0DMSf|=HYt-}nD7LQ_v7fvo@hSwdcV}`e{u%_X?tLR-3 zdDIEG-4U2$3g%sod(si0<8VW^U4v~>HPjn4-QirA9p9;| zP+qOq;P{U~d8*PU<&zuSU(Xn9j$eA_1+c31+Iv1ty|e%V%!%PXNGYn@@>=3bd>E07|wr-x0H=- z)jVZ;C1d&Dyp2$DW!d;OX~^`-?)`}PQDUj3?UbU!q{b!le(f|#^xFEy@i zDHCkndCE5J+KlSb1x*L`$Y(OpyO}cAoFm|wp( zy7h%dH$KK!9pa~WV~t(*6$QR+{^xuTeTy1*f79KiSiz0m)?Fj?uF$k)Ms2x!-QQg% z%Ly7Qq+w@zS4CjvhUVO0_YY@U+NIY92@377GtE~SAvAi~l(w}uRK^O;Rn%!-dtGI; z(6l+lvx-(`EM6VA{L&Hc9bVh_8_k#t=-rIPYJdd2clZ!Ar&xlZ)p6?x^4fl$pce)z z&MF$^ttdg4Sw;Kl^5$K!qRHNhl5`O(I!>22?k3MF67Wuzpv$Zx54yZ@_xEe6LBv=` z-*)F3mV7F7#5bF)rrz(0FYaMf#Lm{}ZxhN=ORM!xTAX*eniX^LVeb>gx_5V;7b*Q| zN9_3-2^uz5qvCHJ-T83w-}3}ZI+iAVSG;kRyoEtM=iQy(fYhL&31(}wK*A1Z>%KV5 zP#)J=*igJUHOaBKTF=%TPpaE-#<27nNFMPZH4&*4qzgo{BGOKfZWAeiW+GBKk&1f{ zdWC+CbyjL_D{Hn<66B|WZ)`A8si9azbZbR!EM>H3=f(DS|ZZFTrn?!=1Fx3 zhFA!-QL_KdJ5&L94#B^1pPfqc_G_R>{}|Fhct1VTKzP4s(m;5>LaaLP=^w5^rw}5; zw*?|Yod=N-x)-8BYdJ)NWDt#n$k0Cwks+lE(Qr?ECSLwL@F@@z`tu+rq(XuFZh-hu z{}h@d)Q^U1!j8CjwW2C%#^#}JUFR!8S<^QUb!%Lec86zbmnbSI!#!V7_lZ;wFr{8RB?mA%j?SID`8Iezm$r3Eq9 zuf5wkJ@eaF8sksd{&a0rwa9{|y?e%FDtuKoqLqPORxp~+Ma|0!=DDc(M;XH)FDsbm zqGk{oL&8Qmb!2SnPfuhPbPHtmzHR>L-@~`bsnhoSlU$0CL;cVnzC$qN5B=dg1VjAL z{~Zp2*Y<=9u@B?2gNv66?5vkUhZC2*ufLPTM9}f*kNjKG>YWT~wmIKVU7V_JyUXPV zkBg5s^w}Kp3iU{cb-B7C{jS``Cb%1ytj5ZB!QGJBbe&h^P#{>cQUTJ#7}Dd+6G#sa z(kFj|K54LqK1qZ=iMt1V@-yj^GiQ^&Q?O^2;qLhJIzvt3RZPQ`D<6Pfs}xCp-$^Bm8VrxrM}FN;>|mEw1! z8-lv@LvksCgZ+>k>}TR{{PujaA*|Uq3$yzUPS8{6`$&0X1C-IOD-chEgMC<%Iy~cv zQaHJ2KKPF9D{MS481kf)2I-M(dLfM1vhvwCb#s7LL6>ZVB$=T1IYAI2yXHb`Y!q|? zw1S|#`1hXXIO1hip*IzZWY-BIND@JvpnO1Nc5M8NH&LuJamHrn#senEW5G=c2+Y^I>hFOVj7ve!PuKz=YA!A=CBTWSz=l)ZKq!B&h^ zn!cGIoL7CdLh^LefpFuL839OS*+F&&m?};WNJ4vD&DDy?vj|!t_yB+z0sa7N{$v1p z=>haounitD!YQXQu}xofh-9YhFS30L{>OhIhE3)xH>ZmCI4|DO z*K_@$*nao#XHIV>Lqk!vf(#9N)9Yktw0WgbMnv&)1sNLl5)Y9P**8DFil^_ zD%XUI<-G?d+;1oro%krpu^a2Et+~sJgY|U{SY1o65!nN}0>(nZMWjbyI6O+Sf@-*` zda$0-B*?{F6oAfP2*pU3l+3<)A`{sV+^1&s-%s%GOqPV=lr1TvCD?&2Yd-N2ITwCd zEy=ma!hZVGhjjz3{!Kk{KSvs@4;P?|qm9imFSddEuR& zsPh2D0L~*bTn*zkzzm<7k8yq&SJk%4^=8V9%}=gY+#2Gh3MFv!e8rGAEcun740ThS zzPSLDA#RbUu=X2a?e~KiI1K5)3$5<%n@SZ6@~Bv-K*hodR4n-XM#aK!*EIYIjBBYW zOUox;_;{sK79*MfJrOsJ<|x>I>vOipiAdg(l#VDFJ~{ z!-FZ&M5crbJcn*5g|g?AU%uMBe~)0b+^PF7HD0t7UUV4-&6B`o7&K2JP;Gtc{+7+| zdqiGt44x<1c}o7Pvb}poRSUk-m|U%KN`6b3>z9u-V9=bod2iHe{#R4{Q}#e?!46=LC3Fi{bt zLHUm6wYikUqU;mE)u< zR+9B_;gbZGgJ;rr-zpx2tzQ4`#dZm253dU|67Hovo39+V^Wg^1$MF~if)_(*Uyp>xIwU-zk?@GX z1IYtG5V@1>^z$D$5+w#?2Nao6qGUbU191;JMW0ilA8cqoB_@Hgo^%2;pC^+*A-w=6 z0E5p{!UXr&-@HSvfEP`&Wyt#mp^2BK!cZuRLbhW&xe9Sz$aWZvK)T|>KBOzwE8{zj zrfkPlI0{8k$aXwwaeuF<4vp<@un*$YklrwWt>AURm-t^0KMed6`JxjiJ>F^eY2yLm zp>Fuy|20S?zgdR)qGUlS=3y$uRKzOZ(wX0kT*iU$ zy$}LZsT4B^LO>8g;4qb8s=C07(M!`_1*$StZBjX=52#m&O68bxpx%aN_~h?>d?3;u6@A(>qHk7CLvJG0Kjx%7V3>~&pbrI4T< zYApB9^lPRXOU26%sm9VCTEX4@?92zvRAZ?Kt?-k|a?%RTYww~q0$QQjYZ%p&!}$q6 z!#i25=nP%ZlBCNUcZX9wIgFq1!>OJeMpEUst0#vcr!Jx};<4eG^4v`&eLIv7@KX`F zswGA65aw9*7g)OTWkT-MlCI9Iof9XK5I9tdIO-`sxT?CE1H~YV#WNR$mwWJIKM2Z! z$_rfi^_6q1cs6Y-9wTrEHUXB;v73@bsJ>t|=MjVge#R@`N45b!^CyvSK!pamCyI;c zcfPB1e|hB`t5PTk{Ll|Fa&Bktru_SM{@sFqx56FjWi3@el+T_+l@Iu#KbBursZ6?o zAI?irT^&J%4!?0naV4fzg|eK5A2AW{WuQT{N;2MLF< za#;P9ClaIz==MxZ28l41M1k^Lg4O6dK;~iWErR3-(gb8vCTLz$+C1bn@%P+GAx8okOiMW6+S_)R;yy3o$NAew5O0~@EL-&!`$}p;(Gh159zLt#;ZGH zl^(_hje$4C3jYXVK!?PDBUbqKR;=*nu)>eV3a>_DKn0Z9Bm(jR4+yspW2444yU_|c z|B^p{mIy%km8eQJBJDja2zb&5NA!NDiaMrfn)fYeZ zbkgB($urOr-ep3bK|z0+f_IYZ3!1bZU}dCD82b2O9|A0I#dPuTX%c}9jJl4Yc!oFj!TBH&nX_%cD_<*z%BQJ@D=TK23hB3vEpx04FMx;%O zJ!&TrW@;vx@B^WV-c%zQQU}9;wqLA{3dG29Fa|=#!4rsdB?!)eH)OJ zqk!jy0HzAb5G`WDI9NRoo`H81L6(4AdiOLPh`(Rj+>tb+Y%{Fr`ki(TrGn-$S1TH< z<*y|-GQl|3^s)}f1pMqT78Nw_K3}oJMfO?)WCAa*c_7%G*W7{9$Yc}45bUjC|yv1?m+2614R83;-c1YOV! zQ)n;eK4^xylt~~1VInj`6f}c?i`+76vI;1@Fqeb`r5DsO?rRbf`51S$SN58#f6W{J z+2>#LrhiQS>sD;G*iu<*_t_S=D3%4G!El8 z`M>{G$mN$R;xw=C@JHF>=y>aKJL{*E-jhtYplx9g&S3(mdQ|NXl-!d{Vge82H1l@& zBY+WyF#-XMurdfo;Ln??J>^2HY-)QkiXR-N2Epiz$u$tCFQAo9ZAQnnWBGbUt2MQu*5uZToW$j4hBe3&Q?LL$Pc3NsB zIrbMf-YtZrz=G=|jl2X_RIMZ%R3%^ut-ae{A`x5>g`z(T?c4&VE@*7$t9FW%VA>jbg6G~Z$fiRwHR%1(&M)FGQRq@+I!rka& z(q~80GS!UWGu4b3%oICfS}JyYA&f`fg2kXldpWg~%JBra4w9o`9H@<^F9m6c5ZZ4c zsY(!S<-FZFK`fNSge1g-7KsTT5)+{$CL|#yv`9?&keIl_qFgqVLk{!=svEm^%U|Oq z&M50G5j1y!lHiATILKbx0Ugi)?Es4*4mtppj>XUc#Sj+!AV~tK0|y9&nc%*rt2DhV z08vyoHXx_rFlaaYYt$=vQ}H5|I{Gyo;L@fGq&FhZpqRk|!P^L`{i`Y)hm(XDD7h@_ zuWtN*%|-k@x+3yCq=Xox#5|G`YLF5eASF=Gcp%&l5~K=hWA2k>;{S?2``<3LZ>T*| zoc_|_()U%H`*N34ZSJZr7F}s!tao@~wL-Fqd6g@V&(PTUN<+xcF}HI6$D*>G=Q74< zD4Dh_Kh8kMKMs`b49O7JP}QId|WQu8I~chk+Q8tV}2z;dvYt6A0MMJ^QFd!5Cga4V#m zocq3R^UX6jU@mC?ZLYzna=*5FA@LulT;W_$HJ|Tzr*?jL{D;?o@H6XAuUm1ADGF6g0V>d2neM*-%?k-Oh zy6yB;<9_cZv^a#5KXXxyNN2pW&5A&SPxg)YuN7^FM8Bp=G;-Y=%c zF*FP^&^S#9HG&AajYj16PFC`J9J6EOeLH*YzdhX)BYzSN2Wp%`!-E>9(Ktg5zs}a^ zQtZF0&oWL)E!&BPpa~k5XlPKw28|=suqTd5Z_m=5tX5w8yRzkm=F8Fem>Mc*tfYo2 z8phOEg~kC{7ia(Y5IjlSuPG)z6pe4F5r)QYYJ{V)pBfQp9QR|TUMw!a2UwSdPg016 zJ{rZ;*h0uXG`0~!ja^xRhP-=nc+zG(se>9{q4B|DG`>b-F*S_PSWgY()|&fH3TN#_?8;+XgE+Kp|kbdl1KCf?8N7;rZ0dRb@T;LqY({3b2M6rW8T~2 zC*;t|>-^3JBm48E+HYUq=4)R=G%KPl1?KrnrY_ z%ZN4;G(92EVu@Btv}U4p63vNdN<L)5_o~Y`wXZ~;HLl^?G~#i`!yF!weP%P z9$Ro{Y-*O4xp)u200Nx}6c|UKM9<b09$G=}bz3tw)_;*v}YA>uY*Kqtc z&%mQ>!!zG}15NYKQm)iq&@kWO_zCC2x%iRgYWAPhUbq>5xNM$%H0MHaiEvfQ0*s z-ujH*CRwhT-p2mhNAxyr_in_WEwi-0^OWAk{@cd}%gsk8PkpxjuE84fxhcAB>+=jw zIh-$-(fG`ZekncRsCF4l^ih?XlY} zmhW%IVwG)7w>rNx+f!b6VQKiq-aJwC{U2n1(fd$2tiHe|tYwVw!cF0Ei%zlH7C;LaO^QD(GElPsVA)Y(axp|R+BB&K(Sg!+2rH$;L1to&xj?eBc>PN$V3v@D$#e)@lCYUUC zz{g4x+Vy%M?kQf)U9=^0F+OKovr0hG&&;c(FDkZU#_lnmfv?2=nOM&DR(w7oR>A2V z^!X~>m&Rr>k6CLHN1xAKv@UZoeZFQD|Dt;y0;e}SFF~&@twK30UUWQOsMiAH+TGLK zzQ|#Hh&lTz@Pttl+(F$-)OT)HD1XrVNI7iPEYOoj?gD+}1@gpBR$UbGgdfb&i*1AGP%_NATNAC{Z!)i1O=T7RfpU7|ad1mRT+wl;(w4$3ibPLNbnj%=TNht>vYLjNdiWmf#GJ zk6&n<{h+k=U$dtDOBd9)5C50w80KsL`mc^++^&C)nwkGcjSapdB46dK-6&s8mn!FP z=<>$hKW1z^cSP8?owOP!?+*0o4k;0@R+8kdNn~dNI&K+wil8c`PYJs1^ff^~-8Tu6 z6RGeTy3X>?rc<1DuWJ9TrId!tS_2^$spsK*dCK|$RG zg{%kr1q4aB99K-p&9ydD&@SQwC;7nf0RXFXP*8EfV_LsWInwP*Vvmdwo}RP@3g+>3 zw*!sqplyg^Kon6>#0^p|VPh(hrM@?J>v}swRu(B@xpJu42zalf^EGxQq5=RtrhXwl(h$ zEQ0VlKzau{iy|GTcd+ou(uBH6iea$36Dcon)0AQx=+V!%1d`&ypo5DHmNDF2#vV*W zEPFddi;58ICTTGmyd<`Yd9s&D9DNXyGrr7hkTVcvm?WJ<89i{1aWpeYQ1*8E93*Eh z^iRTwGQ2+I41F-tTIg9|)EyyrGeb*Mf-xhXX z>dW-&6Urv+yehG0T}yDKYKDim@LWS5$8{~L8Lu`pGUVr$`#5U1ywqU%^sH@B$q<_R zazi~sW^Srak54ji&R|ZTN$`K`Bd3r&`T*SWqp~1-CKNFx4);otbDhW`it72+5d)(X!) z$AdHNzvSgqm~l2;Y5#@0QKBtsY1d;1=_&Twn|MzZg~ugFl=a`kQ&K%0P6@aLXd9S3 zNCWZggQbNttCfRl3hpI#ED#>27#^n?=bpHh^Vt>axJ8+6$}y42vHn{ym3o7J!~45~ za@Eb6wwqvzvULt73N*#x2MWa^m_oiFuc#4IB%eE)Z9`M=tgPY`Xo~Rjv86PH0`H7~ zTis0O-9c;1)6Au(%yWE}<)(Z@C^d0yPpD&h?^2LMsTa{+Aul|xP^kygmbpLKz8Ha9 zLWM=!@!Z3rQL#mM%v6?+Ni1fa=Nyr3jQ7y#S?iyL$3{HcV!c=t10T5;7CABl)|<34 z#4n!{;{M7IN{hZ`2sS1j4B_wo^A9jH*ghv%G6YSNI}Blo|9s{V6;^Q{GBe~C4G^Lk zLW2JVW`+uzxaka`xX6r|VW-IeVTT4jf2&H4n{uHL{%)*UZFu?KT!7sKwiDRSfPcvY zIBEsJsS^~14_^t#yS)=!qa5_X!2kg_vsw1iQ|i9s0DORrxAk6uRBV{>X*sz&KSb&qYh*3_*36e5 zx)`Zn4aQKnMo)7Q+2V;uPa zjXG*PLSvrue{~~VKdQ50n{Sk}onL5@Xn=8Ki#s45K`wy02pV}1(1=HX_S*SvE&RKb z?#QRI>Q_ErmZc>(fgP(ObTeN{_Z>iT%K_;UBn(LS!=zvKsc^rv;LH>lU;54UAP1=> zR-U8X8-IM5tM~ywc+%TY%~`TDwDN^UT9CtbFa^P^$W>en<^dJ%-!aV$Ov4ZIf+|;L z9PyqpS6*$WPl-h0I?MA6pfJ}~tNuoL$1M?az;H!Cto?#tx;lL={%WxCZRl?_i>~AuGC`$J#zktpqspv z1Rd%=LeOOHj6^_SSps@-pje~OE*GzEl@ifMy|cLP39OsE)wn@MJ>jO`d9_%r2Kh-5w=|k9sF@g%bhIZIrPDq+ViJ2?(rof_AwaBj{1@ zY=WK-R4+MhI&Y2a2?;;7Ng8txg-ue`UK1QSCr>Asf#>+CO(EEOh4vu^_BNfjPWA*~ zun!Xq_KG|m!2j=)+}4+s6Uu94i3W$yT;I1l!OvcA2Pq4+KOsEhNKU%khu9En{RDbtxz{k*en%218 zmYKrF5axsq!n>8fO0Feg1ZF%5BG5`0A*9=5 zp>PJ@2WD${PUw^sR+A%9q058P(BVR9XjMUJs9j;eJ_7p)91W$RCigipM?ijT{1opp zm#`}gHVT-I5G09~DnndO#L)x_16;_0+Q`Y3YF#9Ir|12w*L3rtHWtg>xg4n<2DP!n z%y*l1>=$SJwmvA3;)mK0VrMOMGV`rPD9~?f7ee92rLUnRBXs&KK;s}ke2-+|FCM}|fV9RaXpMG~AF2dR zCTKJuYse2v$PDQvRymLviI5r4AT`h+8!b2i&>*|{LET>$cQPLOSNqQ3N)K-twG@e$ z8|G>$lAU3dXS`o-1Xa3wi>f(GbiUO1M=fKhHr~B)&5c8IDpq(~%wDtP*qpPgCuz3`YE%N5(>OVC*rC~t9tp5x4tCFO6iAeLgoZL9k5asV3@>DOlQ+9j*fRBC zw`z$@rSn9tM}lEGLAz4D2zul!M$k>3GC>Es-3Xe<6-az#;2+gsjCkwgO-Sx-6|=A1 z(#~>^4z(@3CtAKc=x%f!$FnJMZLNki85$97!S-C{9?;dRRJKK0$6j-Xe=U~NyU-On zSWZvC(WpsE0~30p2zEqhO+o79lDoU>%7OWH$qUa@4C~EuQ!|fr!6!+Gb#Ccj^=OqUor3E&k&3@@phENQ_p#*}HP!Tx|C#FMJbb@HD zWJHdG4(W?(3@GUKVvL1I$Or>y9j&J-)?_e*lHPzQQX_8zPQ(e)9ne1WNJT*VMCd?X zkoM7fnpQ{J2gK;-1ZW>3D3JC6p^>x?2v${|y6vHA(>%qJNk2pLgG%3>mYGVEps~CRJcff*p$&(ncAYSq$o?8$vdJ@kqh?hKxU(+KmcoKu@6eyQL zbjoKUNyjaMS1(yN=d8pe%_(EW54%oQy>V!E#foEZ;s3nvWYd6za2Zo5+^gJJ@2CMGE8+mQHn87PLZMZu3K?g8*|_6bt}sf&rRf zNiYEALSQ7Qn?o`*&=7bN4A2Bmf&ri%`WXO_SGiok^QkhOpXx*X%kGXNPT0vK==h6N)va)73W zjDY09KpRS~VCugyS_pHLQubv&=?X|1dWscgS=4U{g_GvN1D8;Cg{G(_QG_WpDXW4h zEEGueF!BK+2UC<}f6zaL4XGeZ5g%J6E4;zXnS=4|a3Oq2Ph4h_BB33S67vh;QkX{e zL0YJjL9xLMsv=iwG%Sbpg&0YKB3DZQU0=$ITrMD+B6K!n#C$n86sD2mAS={2(Z~vw z*!M;Kwm!?1N^>`!rX+i(IY|G2P}V|6Q(u1QW`Wd4VaC&7C>)H`UkO9uYct=85C`xY z_@U3_?xZ86nY9ph!ZC!-`faVmsBq(H{1AK%Gc(_H2qAq^P#|?46C%M9fl>XTCIOWAYO*1^U_;cAS#g`3i4KB# z2_my%961y3QetEz5+l>TiPafPVu2DPg(N8yNk2>^h!P{ZBq=rlLI%VTdLjB@uG7>H zlVTtybS*e3#}6(Zq~4)?@OlT8LFyf3=DMqJvBjJ;wFX$DNk)g1IawN3Y){nNf zqP5n5bO_Qf59}31$dbstM;->8g}APnm&jRoVCI-k)`Mwus~D4Zxo{7HMF<>ObksKKyAnlU7o=gj*TXv9}@p=GO0~k*z&q6~Q$$JSTVSTG{^%+d#oqz5yxl`T`I`9K-yymqdlTY zdl-=Rc))0n^`t#)ie&M9koH(l+9Qt99)+YmE|B)v!Dx?Y(jEq+Jsvn8Fs?N*^&RpS zZd_|?=IcDf?dfU1t&Y$Wfsy(@o0$2&ri%p2-y-!7Ky7R{^WCBy`#usZe=m?q!@&Mf zR3j8c7nNo-qcI&Cqc_wMewLj2334~;VRIBxqlx?u78+0gs~b=YS>#!?!?P&l!Nxd2 zHbw(MJc9ZFO(mHjNHSwIWX9v8!%UD|g7iREqzTev6Ql=x3|mMKq)f`8ORn;R;|496 z=&z7?$)3=9UcLE(J@Jn9=IxX>*bI$(#?VtbRZ(zXI zST?56#raeFJDmAx13OmFQJ%yR8)rk}CzUfBXK#>|z`5W?TUqlBW|YH9fVxOQf`rt? zotJz8)Ofx@vFC6t1C)Qht`78%y9uBFu`Er0ZU@PkH_y^ALaPf}q7_=glhG3Pd{e`U zZ)#ZaO${r4dW6FvEm4xTkwfL1VTzerIjO3$kV2tq`_csROw?W%r&U*UOlGn)@Iw3$m=>2OieAkwag#dVb% z${2FjJw{!FRj-zkkqa_2tEj{?cU?VUI^7HvmIvGhE2e}KYx+9mM;1fytm4;vicIaV z_3S5LNnc0O0>bAg)nP#RAn>=PBz(^Ei#{>p2NFIURD&|LoS5n=37@4@he5&zQ#4ZU z1yk5iaVMs*U~(;(f+_066lX~ZVT%50PfQU`0tZttRh~3O11TR&!BltB6ihY-Qxq57 zlNDadsET!@Dvpw>uwopI^Q0<7NL6qmNL8#NRk4&&73)Y>C$iPbW9)fmz+Xj!}et}eSm~pL~oH{=QzzK|@Zd_2{K zS#DN~OqGg>f_AJ=@F-Y8y?%bW9IQlP5}_qYYe zdD8e&_Kl$KHA}2m{9xrv6`uS$2{2)Ou%SOB!G!(@f0)agf@vU5wE01&Uu!%6of0c3 z2`Q*py=2$hKmX3(z<9=}aCf#Fk3%~6hl!!mv(0y~b1&S?=iB4V4uOFq#jH8BUBt2e zZvS?X-|YhoUKaZMeSksBLf^2u^A!VO7dtpoB{*_FbN!EKEb<7e7VF~WxO4P`qWeDE zn9Q&FOtRM%q1w+R{w|Xw`*q3PNV!X-G!A2}9Vq&Y zhSfnEC^jXBF~y#oIuaq+S)nJ>Uj>?Ezp8<@T;vvh0;>aS?Zq-^k7$~LU-cQy&CjDP z7Mqd-m~v1~T?4kA5R)7YBxS4$pLzN3fKd^h-CzE>=?dhA0T%Wse%YrU$qW=WB$2g2 zHiRzKXFx1n*-MqrSB7c7q6Y1p?qXg3Km10|n3wPUT$VApDaR4IhWVmbBrNPT{&5urew(18$K z5cm;XgrGc74ayJwQXr*>QJ>1GdqUZKk#!d(pEIFsPWgrQha!`ZP^qI7%MCQlkYedP z*%B06^|nr9m~|TO&o~pRMvCJDQXKC>anzA6IZV*U1dSsIx@0RfhsF}CRA>%)2$GLK zOe%*UIRhmzd3>okKdApF7k{2~o&5IC+izgdZ-D!gVY(B~g5zFut}93850p;8?-;#H z^rq7+?(&i`yF}BSCQ!o?$OP_pgbXh5mjnWrW?br{qBIw&ya>2TkL8RU{u{rb24b=v2jiPyQ| zcYc6+`=P(WSH5VLA@_H_kUbP4w{-#jvQRlwo&#alz2_AEzG3Gy)oj6E#j;Gdlt9Qb zhSb`LN|!Q<~Bds$IVeW)8ejLVDU)Q7rV1w}zleW=^p`q7um zVc~?xkrOif`q8#w*N>hRDothmmG`hsC0A$-YYOjg9Cr=Yhg}sng#N5etgk5@EDicKGO^2d|a{kB^T?n_p+)vGmVq2J|U6cBA~WZFxKQ4<3Ud z{f9P;@-2mv2`tfvy^edkTc004`nCvE#i|=lMVNbG--j3d%5)8A7wQ)=QRi7$-oxYz z3$eRIEZ?K9l({?9b$5T6hBGMpYe2>F$*6#L@C7O@cEjplh!PA<6gw~ks`L!IkHQLU zqgY70Q&H34RXZ1k1&!dBfEwAWHqbT-v3%M+f>MUllq^BQCB4nLzw$HeJ`4-E4GWX8 zJrxxUUXipt6@{K*{0h+1v^^E2p+;udKEe>lr$FK)j4CZq$Z(op_-RCb1u7i8XkQ7R zP`)u;hc=XgLh!21nrw+E5B6EQW>5hEmM-0(m_pV8Hx4`39hEu_Z$R9H#6O zvoZCc{RHNT{pFt^~eJwiye6c$Kbz=TM(L}OHc=xy=mOGT~l6n9DmIi`xkz~sRCI2#7?pmjFVE>vVzK>U(2D+u&gdL~ji1~MxciDNPFYyKkX2WTBk z%@lZIDwJa&vw|tE(ta3Bfi%hc%oI#rC#KM(>Jv<1!JMptDe@`hf+ZK zUscWfSuMK{7 z-jQ3Or9bLNy@MQw8KphUDD5$m(jM;-MCBM!1W5yW_roNIpMtKA8RE9;#XYCb55{_> zs568)7;E5Uj2F)6{KxY#_{gj0WAvYx@#^^)d|Tm#v%dJ1ASb=kg08+jo%6rvXj1cM z|Fpv{=KrDdIs0os|IqoI{WYM&K3Id<06O?_9K$|XV~FE8hI_CEe{ak`9>-B%E|m8e zhi17mWt`Lb1r+1>hi19)56x2MADX31hh{y-@=2$1p2qUYoXU9x=TK2uCslDO!=E^g z<#P(j2@VJwXrryEFcpGGHemT2mmJ(d%jepGB2HyG)dI`s6nmBkvwJkR z9y>wcF1VFx_F-HS9XC}#m7H$ls6=5c)o@P1CdEssFyPnLQqRl@#)9${I;koG9tE9= zv6f%DiPJahXea5Q$96*BOd;(6eKYiNoiGZB@at)u&^K=6ML^$Rh8K?Ogs#COe?5)! z4nr8^xXxEk9DMVcL=2FO=a2>a+p0ntK~T4LM5aEPUn107h6bK z*gwkF$ZFAsco@8!Zttu&=qkgh}Wt{edIR{fKB0`c%P1gI%^SXR~oH%aIkGFTqT%Bla^h`tesL8k# zyVadyRqj5bTF$>V61^?wR;k@S;q!^4p4P>XjcXWS0OTLqv zfi4pRggatn_N6?N#?e~FdHNpN8|?0d#V+>0@>D7))-`+5vie+o_w1#1zIXN2Oe6!g zTKVSbA29jMzskz@vHo(C(f(8I*5B1%V=~vjs?tHcT%oHhgR7Zh+m?L1$=|VwLr`Z~ z9ziY1=LxEGSVd3<_b5Tfn?#%dy)e+pt7*TZD5rZ?`It_nT<-D|p%$le1XXr_PEb1c zJA%BLMmYfjs|yfVZLbVmlfrIs3T`^?7+Bf8qFlUFDT8~6An&HhPJrf=i+2G6s|^rX z9D+KP@(6l9a8CJTQ?>VG=f3ARX{5&3@50_$uC07dQY_bJ76ZTIH|ZUMT|d{}$G{Uz z)h5W!1q}8+g27&%>jU`zeG>0!vU0+CIjqeqSWZ87#U|KyZElYeYD&tjH7L{)Ewc{F zw~e}@bgf=F++4@O$?m?JW_frvS7lnAa(Ik(%-uOEn>cOOb-GbT5d!`xn#pP>-^Y;q zk$RHHgQTsxmbTB^VL}m&Wc6Yi)1=jO*X96bKT~k^vOiH~woCU@RFl=ujHl;CgkG*) zE4j6pa=|qu7%neK@2%06y6VX@`1&tB(c)_L5uB#c)hq^Ab z{=wJG6o0$x+dsw0xDS~ru3fHTrg#`S-<_F4X2)mD6xWz>=JdQY1A0jFJ(~HqVHKY^ zIc5f!FEh>d>nyXkkXm(K3ooRMa^B1PsOU*H#6Jg{E;!<<_X?y^c zSyA|$ql3}>hG~wW=6pSW7$Byvl;b58XtLTjXVIKHHPgJS zTHnuT83^C=kqVTXd&fj0qeWl)lH+T-?2MKoL_0uM1bOhTk(#gP7a1+bB=waR&b_lL z%&0TnM@saxchyH2+8@01c;-BPn=+NTcg8zL7!@57Iw93}z)@m{iJGrS*V>Fr+M)B&QPka|GcPo!p=!}-62@!x1{hfKU(x_$B!#qQhAdmX$E#&l)$-f>eFz8$S+-`6cgvir zHMfuZh)c2oeE31B&T}d z9D+JG=MvPCe2$<>hvfvNbN3PC)il}(&gG%{~&a!mw z0fLS-2|5A#sC-5jAh6m1fyE)Hvn-dO7X}U`)rPI{c;zy|^-w1FQ@-TsZ!ApFORh`1 zDjnh!y`ldezM-D!pMTJQ4_sO9oP)YYBuMQF>mVDq7K5)AqaMrW95~H1J zE!I$6V7_T}_ri7q;kzm7ynAk!W3&i9!@#o{cohS$BiI1CDTGmC!U^Z?Ms2ND5ftQEdX>f~dUO{*22EmuGDKA!e) z%={e-3*0V~N*N$PK6%+R?>`Z@hza~aGAcx*=c~|${t=&$oZ3e6C7%gA4AsC#$B2`Q zMesJ)g*HF1VhDE630cgPDn5&6Fobmvwljnk+hUm+CWJmGKr&$lebQ2RgweKEhTs*N z#XLfV(NqlK>nMS3;?Nzd6}o~jrbtK^AI~KMFG7;!@?+5`d?9^n@frVekf;zNs})8< zVI*0i>&|pZkv#Zx0!C(kM0AEfOL!dL2e$4ca8JLn1g_P_^xH(7}MkQ}Xf; z%(j29b_ILJVa_&{iHiJSTjaq2rKx%O;j`_#bXKqf4|8g@Cn`G43l3+iw(*0D!e-n5 ztg|BL)M3sv1izUVZ1RO_+xHmx>D0V|;Mv2R(+KWHP*b%n6T#0A#I)5I$pkMwNr0g6 z=R#17B0=#8f+AH+w65GHKvLg^gPta7kRM5daQ_E1$a96&tl{h5gNq1{T67WVr50U8 z`lv-0k-t1ei!LG~aPjoaxTG>G1qzNX-_T_@UG~%EI9<-uC3e<4{kj9HwxxgLT%7Si zsdZZL)tz5j-G?qo+LE_PUMi`cA9Og@qIz3c(lEsFrG~s@d5Gij7LD64H8!qJ^s*GI zQoilxBOocPB^^RQi^^>wNmfYDD~%VNjbCNX3(m$1GDrNmv+;t==~p$c$Q)8NugIM7 zTUF;ibe&|OJa$RYJ7?F9)RY(@?z4BY+D~KO!vDJO#7)@ppX7#|7_P-Ils6HM1ouO? zl6sGGGR`?0tnLNJeh_e__6H4<9m~`?@Mqr1S!#7JD0X~6s1^K~!zR=G;m=g)Ymz@> zw?3ErnSc{k@Mk#Pswsw*-EMS2>yLFcQpzj4kI)4z4qe`~`}>8~U<$3LTh*%j7Z1)o z;b@je^gV8r9@!f|nCq%D_a>ch`}_U2#}7@~HQhnut;Oo=3!-J=Ph29m;{+eD8URl7 z0kR`5k?R3}LahEOL<0k?;R6l>0GS>_U?>!5(VD7Xe$JQtiS(}C%Rb~!+#@vsf8tV# z!hG^4ysXR8B*~xnVX~+u`4dL|@I2s8h}9RkYm+~rU!!#P|Jb_{xEj;;Js6rSg)E9Tik%EZOq}w48fpmmFi3sE=f=FfX2)O~> z)F~SQj!oE)8<_M2XxX?71H81uFEi&_96*{EA+gug+A{Kn{ivrnI-1yKWCO0v6vJOCMJ>M!CeHA;=wJ% zkR-x2Mlh0yA?RN2rcUA_MvBBm8i|V_MqKP5ap6zmVgn;CN=RI&lembHB5`ru7^fsI zVwiMC8i|V_MqKP5ap6zmVgn;CN*Hm$+9UB;X87@K!iUahcFG&~{?lb+qnAG3FR}Ps z&xPYf^2TkPH~50$q4N%cTOFp3IL@DZJZ;4BDxkAKNZ2pY#_3b|NWn)mdTB8hbnUtD z68Jl?pz@*f%w*pr=`znFh0quBHOO_0G!vb@q8HmR#wJ;3d9Mh$VV4hOUlLw9zx;Qb z30}L(6F&+FD?{AK#i zN6W6SP0H#wDg609`CToOlJ6^I{2{vYvl{OvF(}+`TWvhEqw>Exh#uP`vf!@Zs2BTt z8QuRuV%_&HQ~rVf`A*vNAHkZK%3LA2po(-NJOUwz1`A61O_*hS*wHi?gXMtqbr z;^UV&gXOy)I)A9c);>QCKR&Wc^wQ`(5=Z{kb73z?5&mS1;MP8pBaV-RV#wbwam1zP z!c$NT+vW|HhhpGQRza9FKzmp~r_9EzJ5&Z~5Z!r$Uy&@~PydXmXMm@VIKEBk(E0bD z7T>U$H+V<3+=$~+6`nm8y4I^6I*;_m;^%HX7oya1=)CgoanVa3&F+(Tar>~YTc6$& zJ|I#2f_y5-ryf2KBZtllS%M}Y3!3$}qB% zL4%jZXjPnPC3ISfGp*7XNY02D-4~R|{oci>qq0N?QI|a;%6A1tU+n(}{(tzLOuT*4 ze0Q&!2fI8Q6K0|h#5nCf^??-m+v*Csjxlz8L46>`Y4?I1;+IJ+sho5^_*neZSx<^4 z`34V8=qfd_(Eo0*UHoFHiADZ@<79(Jxo`vLWVvu7nFh}1oql{(=RHELvAloMOLs9Z z)`Q}(-l>%Rkm!@tq!#+rMy^)`B|qqNLFhB)ba~|F%e!5}HMC$BlaV4bfy_WMUCA`A zfhi`FK}OA}Noq&mq^22Urjq%Q%mgxH$&4g3l*~Xf{mAqtBSfYvnJ#2HlHnM`G?J+! zQ$?n%MzjBs*1H#FF6P!Vah446X-0~uPr~$+)3L2%4D@PT#QxAY4 ztxr8kb37%@@rE=9>o3+Ee~HjxE^5(hAxbXtgLl+K_22q5U06GMsf{dw90HpOY#8!NtyF;McpG`vYB)f+tiR`FK4~@nRQ=JiYipBakV|>Ak2hH| z;?+?Hv1NA_HH`ejK%rsmD`yA8Wp~~gyj!c`tDbkdQQ!8bGF_I-59I`1QRuE(W04E%$5-yaxwuTRIh1cNphj%_Q|I13C}`5URP?L z-KWgXFyT0GDbug2S~CV|5o9X70+AM>@Vk32uNk$l1Zfe9%i3;^$v()zzZ{C>x+x{s z?^1F-56N{d^&-wdF206R_l?NKAK#6gXaQ39e`zlMJp};tr=k%uJ6v@q6@VTy1t2s` zLR?8x0SGOV5K`!w4Exc6sTQ@6dHt$53nJ-+xsw;RpfeZDNmMF=AJfQ+RYoj%?p8c6 zoz%)>My>25wSpx5h&MD!a!{Mce8_w5ysx!|*5l$E!bdvfKEf!y8cC z>^6SrfRrz!Q@ByUJsG~_~B6xu*qpk{;okQIS!0_zDx(FWii0y~fh`2iwi z+_OUx#XU)lpgZKy`Qwa45un-O1fo3z;68Hc=4H2W_SHf+h?4?nl?G^)HcrofyJl7U zJt7Ks508E^zqipyL5Wk}yDaLcJi3FZ-9PaE(sv^K#nLB}KDzz%eO(csmznrOlH-dc zDvo?Y`|0~DN}u_N5wD`e-Pwzs5E;rzk*|4kG}Um-mtF^8Tcq<3sM+Cq->W`~`J6gtNKkyQpv3o?# z15YuBJ5w6(7okh9_np;$=t$-FsQ#fNmEWV<(u?}vRMin3r|pp2Z{rR50lzLisQJ&3 z`5vA-X%FcMVW}k*{&KoQq)J}U6T+?+Oz?y-GBR$jjFFK!PEQCM ztG!^J5dJdlr~Km57id3iXZewT(tH83~=4a)?oJpxya@?EMFRqD{Z46etWocEXduk_} zQ<2cSw2@up-Z`VT>1B>rLV2K-=IqEwPC$JK_nPeHdl*h;HFFxn(yNw28SX;k4Zc+S1XsV%9+tkX=I4IM$@CNjOGwMLE9k@B_b)dE(QT&ObpGuS!o0>ss6z71laUd5fj?mcrSvdxBVrzE#NV17~VOWHsHxpO|F~yP}f5QKnSonQw8BTiv6Q z<;LnNP1UuRZu!H zv{-I)j_IOV^M$GJrZRY%KBup7}Y_Te5qwEkSPdR3f&@XbebIkq;2Ybitxi~mDW-rCzv}5)<92_09 zw(6(5o^j0Di^EyRtW!9gbIkI@!O1b}8V=5mIrsD%TwNSPY4V+%VEKVCX1xl|i-6859 zQFbWwnd`N>aJe+CU5_(Lj;otzNp235*282#gpGG7>tsmXP`k8jx#SGGPR9edpP!W-?7g9&vs8cW1yuKWV$1E?bg`Wp<|rS zICfWaG|*ZdWV$AHt$OV1m1CUypYERKV4$@u$W%Ud?cCVcwWFQS*mqa6H_%cHGMyZ| zc6{vX)1#gH+jUPnWuUbn$h2?l+Fr4*r-OB}yV^+utvNxa?3lF;F|SicIrl%&J?*%G zmQ;}GtC+R9F|T)waz10*UCq`&OFYOlE@o|P%^n>(0d#tQ_gy|M1|nLl#;it4t5XtlJw?P&>l?jLl#*8w;($Ri;~F z*6GI-oF3uc|KQ-X0~T8Ss!UhLtXmpWFdeM@gVpw1X!Wczm5Es=8B>rt+`Yf`;Iw@f zT3xG5$Hc4~5mT^ZxciyCgVpw0XnkL0+9PJ2U`#<@u=Wg2v$D|QRGQX4T37j~Aat1f z8OyNwR+plYkO56;yssjf7nq^dSP;=v*m9I5B|JwJ) z$`@(Va?D<93TK+VNb3|CA*89AG(1Gq5Qt|eAm7c+jHPXE@<7;;ug zKquv#F8$lf2Xx((@DDHpxSGzuKOPUjS8hV`CWrZ(?k*5a5Ont}u1$)EfUlct!2=W9&f))YL4$!d6J2kfUw z$&lV|x);aHN=RH{;^uj_VwT*rT+@S_?pJru+Fvl>v0%cq5D^eWK~OPCQ&lxdOT>@r zQXKK4x(rABs4mA5KdLKmTwzkDy3(XB5kIPGIO0cj6^{5(U5z7tRMl}*H`y?5@~o*L z{e}+M)a^v~hyx1`=G`A9w>|fiXLv6#s(EAqQ(+Zbe^p+aC5WkOoG9w0`x8Z25z=g;^UgSV@D87;L104hB1Dpo_r) z44w`Ny*6vpdh@3b8!y_jmk#RYJ!9sgM_n)34p}y6iT8}qMZ?@Td7n^`Nq*!zvgqY< z`DgPu7Q5fr zd_g5M0@J?~iFDE*WwWWsUM{RA*7N7a{KOx3Z@YMAwq(r`_rYC#RD^n@h}s;%^rMhx z*K+Li1J_4RPSJW~x!EV;IJ-{Kd`Qz|r#h*+=i;S1-h^$+DEZy+84-hsxCKPVP3whs zlS4OOILuInLx2l8NRopwIh2q?1~~`@VzmERw{+jeS914DF1(qU%MNg4PsqSYDo$#* z)j3y~$uudMM0l{r-quR86wxZzgWH*q(1Fz;O)mw>jYvz0bcsl*MA}58P^|qt!|;B| z4x-(;-nY}*MJ5r~h?Gtw10r1qN%J{Kp+w52wYJh)H;I;2=QXf9NMW=Rk!p#=A<|wV z-6K*itz|@O-JrEHm%1Drky|^I1=1-Z#S-Zik+u=(Casl8cU6Y9W)sa*`sl2mM&H&d zA`x_uq zsBxngE?ac`;>p44BP8$7+va^B|4_HsQ~m9xP1&&6Waqk^Ppkc4I|K}Of@2zp^KhM;@t ziwSDw`222qm-rdmuI~-*;j$&)pp)((iRUo{8C^d`&(vK+xV`TY|un{DY%_ zuC&DS*mR-zokrK~gNL}3zAz9a=w7-qLDs>p1c4<92&`>@z{)46mE-!K2ZqlUt{*IX z*>+FKQH}YlT?bX0*Y5M{zb2xvSbmk^4YR0J=PTL9wLX5Guk^d2QMk#|@4%JWMzwqW zgxBmYES6g}@#g@e(B#y`t0u15VibBWb-}7ZYql7NMx_d^l3r749Ga5aVU@toLyUJM zrp{d@`m?Lij^tDY8cd1n?W3M7zQjpKA!X7!r!k7b-ujN>adtlH_r;f-B~agKj8gD^ zea9&TGE6~+sl;Q#9Zbd@OhsZc?qHtP0h4jZnr&PN?vLiP6H=|XvtCq}Wf*Rjf-eD|{sr^t`-L~&O%=E@+ql*fUjjb;edf~#7~|7- z;eGlf`t(0DpI(_hy%F>21=irx-=|N%Mk&SMp19_exPD5(@+k&M%uta(6p!nt7~Gjb zF;t=qa8ag!KMArwOpFjV9Z!TsWHiff$&6{mUX zj}?#G?{n_1xX4+Zc`1r|PJ&9)_UezFLSUk}h?7po6k;mznBOx@Cq7e=n2bA^XNk$U zW6ddXU^4DlvyBVIMrKXd;u=3Qc~$YfhLEAhtBM~qgaUEst|3&8Lr)DMG0#^OeK6m8FM(S#hlNpnhlu4K@W2{7+?+uBh2}} zsxihK4knnx!2)wQ?7`f{S2g=Fhr=Pv;c!gjc=<(J;Y+q+muyuo*&1H5J#oo4@RDu9 zCEM~#armEu*kvV^%eID>ZBJab4ZLidaM`x}vaPV6t(c#!il369pG?ZjO$jyO8Pj9} z>lDjz+G%q_&3&9+t5Y=emq{6g)5jUpW(U_DEBBXqDYrSHJ{hN>b;k??WL~bvX$DTi zFpE=boaW*5CT6e5ygZN7Vw~Q>EKZ}aR8>aVZtkk|o4vEkws2Ra(s2!URT3SQxU1rD zv*>4t`+zM+h8FngL(2#{}N~dJ$+|ul-K&x41qPMd&IkmzI%lC(wKZ)cd6}ndJ zG;Anebt((g<6O(W=>*jC0m~ME#RqBs(Hi1?~?s23i2LKO3kIP_0_H-r~SD9j=B=aNPmd z8M0L-yN6bovPI)$wI@mF-J5$=9eMY3}E_`tf38_aZ(jD}h`Ex{3u@WL3Lfl>i_jJr6wgUPsq+2(~_Pl+4sb1p@EyOWM`%5UqOBo(Lm>c19`bMZMB zCBFSEf%;C8O4Drg!34-Kg&3w1j|q1$8Fw%hiOINwc~%EZ#vN<6c_HBMI$5>uSdJWEW*9n2}jWZbbP z+!cB5ShMX5eM$B9NivaJs$9kKm5!AzTUEoc*f~=z&r-fTL3h{sF>M0Bn1Ep;w|>k) za*+^MYa6iPGq$z3d?8?`P+(!{V6CL*lDECWwwuTs7E~O`j?e8I;Tkp3Od1#YI}*(B zF>CNKi|{d1@G*VyF_rN>xX||yf$!mC3CT^Igr@Y<72aWN7IWOi=AF-Emy%GZ3UlM~ z=9`~Q+>j-xV)n!;Vp*Ci902I>fo&~-9uGhi1Y=h-%TF%{E>TuIfYrnYZt;O#&54MTUDhjYfdYhJLI1HHCm!j)4!K?)v`p^e(|2LXCL$Z_dHWx!kd{iu!VA zVy$|j#u8PN18V3&Oc&6!JWU%m(sU|K-=b-)I$G&Et@I3vqNw@xYbGb)F8;YWfo<*I zXk+i)<_=x@ZhD7!p=~?&1b1>7lK%N{7=ny;o+RkSo8biAO`l89o?vT&z>@rf z6HzV zUFU~Aow0T;chDg1)2^Ey57y^2o^d#~ZEB<9#hQJKRCn$RT9xyF^;@Uc^@;41y#>}y ztGWd>{&+`s=oId=;<EF>Y+4LGQS+Nn{cYaLSC5X!Nxw6!++K6c_P2 z*E4Rv-q<mAoe&u0!nNs5Pcx{8C93tnO-n7#8( zlF1OaG=oT2Lvby*KQ}BGWcw^vKd$b1D~bhCxKcTKcZ5_nU$+8Ro4AqjGo1pXQk+V) z3kJn8PJz|7`OLbOcTU|VZcf5XJ7%V-VL_GDtblY&*_=hpg~|&C6_r$k=rp~w7`2<$ zw{kJ`W>z~=7O^EGlQ5#3K|yF(IT8#IWf#4?gfL=nMJBCMwv5PzeW$-5a6f^g@b&A*;TPdMJ)b}a`o2!g#2v?TC1wT8<-V*4 z8OuHql`^na7GN5I>j?B=Ko-D&@=S}@9jcpDoSLjV2=_42OOz8C>Qs^FZS(!m-X@C* zM;x%}Gjy3*%!?7$Hphl)R3z@R=_iw4aWYCyS-A78J{78oa)QERW;s-x+!NHpojPWn88_5>Xu2(0mdz*+{VwPV-EYO2@mg8DiHco>Y? zIB}fj-1Nl+?F%|hQ0I*k#{&Xu86dE{2^y!VKu{~kLF1m!Nnh}IhU)dbLADNCJPbN* z95fzKm&Y@f0qWtf#hajU&leG-di@kZ9tNWbYUP-$EU8%DuYbVK)umT6^g~lN`KEU8>!c-p0JoFo$gF|1C+n$KhHB^Eh?HHTQ_2$sjW zPCQ4f)yDE2#JhQ@_l(=8*KdCCcTSxXCmqt6E8fjZ{kyo11PyoUoHS{V4p?41)*NCb z@mL;UF^*s*g2g!YB*!^C$3x`!-sL;S_11HoA3WM=Owy#iI)dU$ywrQg+37jX3I3j- z!#WD$OFYy&62!0)!2(1qIL_fY9wtW*p5uISOyoIw!SOxI_txtY*4*dUhVfZd%fny! z8b49Vb#%W!S@wda<>Ihr2TWvEEx*A`6gj#lPnJEPY1x%G!SgU;JTSrYprzo!TM8an z3LgBW;DM#!!CML*SnB`f#Zx$r+Rh4TTq%2hMhe)kP7fBn7No24%f>Cg^8^(g-58AV-iQLCFNw z02=icdTKQ|Tl*5H+E(pl#ilD>EI4a)&B^<6U4_TXY^XSS zPi}$mWD~u6az}@5Gl|I^;cL@zXjhYQg`WFudJkP}GH!0V;A7=w*h-5yxO%_&exv9( zX$68*ciIu;@n$qZbJG;y2>a4@9dCW1VjkjE#wl;ZO`WVi|>BhwYk2&N2i~9|bb^hz)|F;k!_@(7?@QV!RO5Gk< z9w`*~x(QGRE};7aRRYp!1~h`8$AEr|&rNmVLfsWwK>#*t+pIdzVRA))-VoFT=p}xg zlS`#%x|`l@=GedHti4MiwkB~uh1jAIdnsLDwkQ|r0*9efO^_})Z_{rULae;7Nx}Zk&K9erk@TvRpcQ^8N9XE=p){P{C(X!7uy>1;e#G%yNKwzWvxaSJ#LXUT< zUbiR6!$6dvx#`LTSqHfi1lD*!U@iND@B(}d5ylw+v~xCxhOPo7kItKJRYnKlXm zLqkvq5M&AgX33lOrglUbpj$vcjex5f>re)`kh<8fhuR?j85&zcGW1Xg=*AQRYQ0j0 z{DzS(PMHW_?W9B^zbo{ zs!97JHxfd*k>WkbjaW0e5!b88jU*#CGC#P3_@Ft#bHxYECo_jmnbEhI5EOTw6RaTa zJfF;*V4O0e`84|46CYcwXpda`(^^O@*HuA_yJM_r1C;?ju*rWL_)RJ4-^K?2ojCn< zh`05VG_ykrCmU+iIL@4G_Qbhg#4A)Ks!(*G3;tEp5FueGl4wGR1Rx!v1~D=bNsPX@ zwIjH-kDNxNpBN7BHSoRy?`K$iGZqgm3@F6nA2*$P8-J|0QR=o+oovox{BNH2{m5r; zO6FP&+Wl^UfVbZl2;vtA{CV+y@McC1xIbj3u}%L<1p+7v5!&)EqAUQ_40<3jz*=>g zYjIw0uvQ#p37Eve2AZc_LLB81g2{zRFHkY!Zw(<>XHu|c;kWpbjreUrA^inG^?*iE zNIynUK0yuIHfPc#Z#z{(4Rm2MLJz<7r%(e7b$?=yk_GzI?E6!=4viaS%aAcUzFAn^NB;Lp%U;NQapet`f4 z{;LT5$;JCqzgbE6olS9iN2kdi=_8#cdy(;=Q)cA#EhbRO_#*X=kK7calJQ0A9Uoav zK_%n!>m47f|G4FfLELBOHfS3j&3<22|82nMr~UhCQ}O=~8U1$xK7V80mqiT#?@9mv zk$l9wol@dKgnrU?1pG|rell1*;cs}lIca-2KHx2Uz$^HGpK-c5o9oV0{F@T!5Z738 zE&{o7_A?yH16{au=F^;@vSK->p#SCZ-0Dtf258ugZDR8*?CvdHovLJIm6aOYb9{)l z932B^&e_sl5_|85lzXp~#d^ppW5)^T4ngIBd?@#x+md@9Na=VcLw}DTCTU+ntVXar z3GyMwB4QDA>Mc|(i~GcDIu>LgsZTClXyI6z5BcxO^W(mB=)S&su>k@42F2{MNTI-o zw9jv#t^ZwuDgZ5@ef|In<1qwPMGA>6EU4HNkCTBlm>)}FekskPrgwW_9Uvcqw&HhJ z$1M#V?}0A1NUrxy*?(0eBEv6(WI8hZW(fLwZT3^p&mD1rg1$*iAtlpI^pYs(&&sbs z(8q>f#-W1Q@JqIT|NNni_YjXa-)$5aFFhx{!(*XkJNE>2av0)G&^YNu1gY*kNsz~z z;RMY|pG(l5AZvnJJAPJ~p`|`CH=P&W|J@rfPwyL~_JuvtzjNy0l|GydMjpHoPQSr~ zl1KXYPD)>2{`YU;u0G@RqA9mJE)D;qr~G~`?eb)E^qA0}5T+g&)ikldN(cYrAJ1(P zF-0tW%;n6%u4?q zRsEJv_|>C5zOCyNrzzU|P_(b4Xn%(wiuPkE+V`Sp{*WLzN^MU>TDr-ss zcvA|X7%6}_O7uq&6hcrL@*|6LZZ@Ego#igh68Mbz`MBH>pW6h;-&lWc6Cl5P@N=60 z`9+6Y<$30>J8ZWo_iI`zgf-h?BCBf2jaO%k zn2F@ck=~k?f?>_Qc@sR3T*dV{(_pS80*FlJRd_w-+fcm}%Q33S0L$cAl@4L2bheuiwgg5Zxk`+H0$LnzchC?HF) z1iImKPJ>>v6J|Oirs#94170(mM2qtc&<-`SIXZV*9#}x~qaws=xB**9!(PFJ&ug#mZN?6Mb|b=x7kh-Gaot4d}OtJ7zl=A8NN&am%y z-!;sV)ija4X*IQS_f$Qu2fGtXI8)Y$>&>>WQ^}Ow%8h2vYdTQZt*n2h*bQy{$Yje0 z>?2KmS%XSvW*FYcF^bIP$T#&b)xKes%Q?{GS|?q)E3^DY&Q_~Ljt6^hQzw={nM#Ix zi0oFYJdQVeUb9G^`*7~}4Wco!BRGPUDkrV>HH+lC_vG%c2Q-%>Sfz5v3aoq{E1FnU zJXRi9j3Zc;U@?xv$uXMec#<67yL@l1L%nZ|tUPCYmC9kO#m&p}-A8i!H26l#jv?rj z)sg1qdG5UlVpx@60U{P0qj`>}$T5%S7(OupnUfc+++1%0V37{VvXRj;8@9X%!eabjAIoX!6HYj)yDFZ^KwRV zCg*pW6lWRY@@u12L07U?z2@nHtS5MeEEy}QQ!Ld6<&ObH!7{(Mj-x+`2u<;=Q(*Ps_ zPyn#Nwl1Vdw%Nz05BfFLjvRg^wd{z-icKgoB|*Z;9p?q6N7+- z0EPoNOl#QTRu!=5H~^Q3VF$(%Fs1;AC5Al!B>)mw^kFm@1gHR*1BT!QFdP6Z1+WOf zcmNL_u&6Q?RRy3xjMHGO1Y3cy+{+V24vjsVmF=z(#G7zAhnFai)uYn-VI zDOuk9P|2id(9EI>hMCc4?rgQ!ZhWY;2Y{fDVdng^0M-FGq<`X;&I2$ASP$SN7z)HV z2Vf(BvjFq~JUmxC{ZP}8^IIKj2S&3klO&#)^~kdf({tGv(PeAoD)IQLz|B2({m#Iw z;Ee^7N@Nb@oN#mv_U}K!QdWIud{FlOdiL6M$tPxg^H|%7u;x(7w=o;(LR-k}fZ>J< zZ;gEZ1~=YotLw&y-eg3`^dZw1My4N)$jJ1k5gD0((TI%902+~z8Au~CGJ|MDMrJUL z$jA(#5gD1GG$JE2j7DT+hSP|Q%m^Bhkr_!NGBTrRL`G&bjmXH1p%EFGu{0thBT6GO zGUI4OMrJ&X$jD5f5gD0@G$JE2iAH2(Cew(F%#Sqsv2wd(?VacZ^|WpxvbySqip}_n zrV&EiHBs(1>rN3BRtD&jSaoc<+279WiMhKB+=aKp3Q|Y2?1=jKKUC9ylWkYt9dz*`9Nf!fB4&U_@ zkgIX|MS_a5mlBj5ah@P=^MwSpa?F{zoTnbx9MzW%`7E1}>+5PA$_3^QYc}WJg@{ne zkkyBF5MilgiiK$FMZU1S$KKa;x^80Ws?5L}+FK)&EYGtKHuYc)D$@?JN`iLiU#5K{ zM?W&f@)7%Z(-4+Gsc^=y8?r`LFQ6L~nnYNlBqX9EM{~whiJh`K+`J@DyEnIY!5U~`9HIm1IV%~4=Czcs$#J$f}Cbd*XYDrcPYu#nkl4vPDsXxm_v^hjY7Bk*TCp zX7p_)dUMBC8jj?Sts+xth*M@%MWe4h@ii3Sp9;(>uE48DRzn?z)%7#7jG7rAVq@r{ zFPtNhGW5r za(G&)zKCu{%Gmf2Ul3L=f83z-XCzwXs*hW>^M_VyxzswPr3Eu_xhSX0@rJnM!RZ@a zb8y)nn~S9)ap{3+eRf*n^0>!0%ssANp26J0RiEq371k+jh!1kRSkK;&hUnpy$Ff#O03pIghHwReWCDx;8P<510y59YJR%cD z#+S?)GB#v(kl#1+oq0!?v+RKVx@4u_$0}_%QFLy<{-DNamAI z6~d8_I7|kki)23a)Ol0u_2LN6pTdZ9B5dLe_+ z3wh8B3mCmHGc!^TfwUWo0x9%@FQXTv%b*uR7`<>8dcnR9dLh$2B&QuaW^A>;^oCqB zI#Rw_GbZu?8H}QNBblf0YgSzWV;rk#jhmtHe%P&28?Mr#+n8v7vuVs zN&I41BOH_+Z!Z!JgxTmEv>PSt@Tfm-YR)>9qBIxlHuGbi~xg7Lj^F zjnE(p2L93pF0Zr~PAIzyr7-^iJH7buktV-Xk-n^jexeh~4AoRtWV-viUAz&wT4w21 ztE*5694#W=1TiOYy0osk*ovQZ)rHBFFNaAW6G-L+8ACEEWW>k_lPO;YlRzer%n34v zWK_tAkr5_Sz7!^b3^QUdnr(QdK-vZ&Y}^9`w+Un>k@=C#l>cFafc~Tp1@z?<(3L34 zOHhTH*-|yj}<>M8|8_La$Z3~9|Z}@ zCCF}tGVnwufi~Gt1|i5K&?b996E@jpw8=&;0R;)<60CBe43v>cpiMTEfgUmmw8@4t zD1|b(f&9d9PLI5tIh-E(Wb$%w%8c@9^wlRubCmLO=5v(t$>inWlo{pI=xa})l=4*z zE^RFD`*jO0Z7u&5^c^ZSe^Srka6N7}7tA$H@?mZNP#&Qr(O|FF&cLq_Qo_z`$t`?H zPK?f|wJd9$h-i!4yVOip{#Le1(iPTnEZ*mHP9ZQJglDTc8X^;r~Gf?&>=3 zs+8U5Gfo}M{PQdyrJ{&%InOeZju%m5prcQoWgw2NlLoI_k_Nl@NrP;D(!i9TG*GF_9zoS%B^h-xYsjqoA2vt=oT1Es8g19rObvYVM>nEU9KFa~%P5o>(3}v$G$-^g+m%rslCw4PB}xo)o2=^u%7imf zV$et4A)0*{!a(}H<>jxkS#Dh%|Aw38)_d`fDuR5*W*L>3w>1{K`h_-APYZ3FF!b?? zSq_&>#w{;W^-1e&)<$JD&g8|F`G2HBN5R5jeV5Z`8wVmFjD(6pJ@( z@nPn&agW}6YPMRQZM)gXQRcE2=gxGACqq{(wR%3#W#frU7b7?KKwrbjBLjuvgBGs1 zE$ghzJ38@?=lI97{Nows=n(uyu1&GZ=pp?af6GFG(NA(=ld;gS?XrX>O&O)3D5=a z{oSG4@j;@?VHT3nC1XRzm&_wF1!M$Pz=)E;FExH!N#P{(MGs0QnJ*@zNJg2ADw$2hqHL3ppC_;;5h*N5#~XP6nemHV)jqTnWS-sn%s^C!1mM{W)@l6m(46DQ)GFb%qO3| zxBBq$Web}HNhFQx16ad0S=_nJRox)V69ZB1OhutpE8=^fb!b&lh}1{$AH<^I-|ATh z*$@POYbN-&$}5O|&Gy7LcIGDr%7^h~4L3*ZDI`x-L96z})-4ptNSx3!9TUs&Oh*Vk z(}BdvzuOb7QaDOYGs|*rSiQtE9dnsyI)pQ=^thgE0oJfgD_O z2Sh*pVUKU#VbQvaqdkv;v{jkFGbEq(q)AbvtV0gB!LvEdlU4oaA)iqNn!ecy9}M?z z1;KUY2=`r5F4MA#jN*-bqa;&Yg&->42W)XQlPzycKD=Fz1V)Bbt>v#^hhc5HlYr&r z1!ft0AqT>2vG_wQ{&CYX{$88~gAnmAUyMxXqML3#q1Z6^o_gKcBaOEVj2x{Ftaxe! zec+YHPPf>`9FzFRSpM-I|9F!*dbw;=xj0TYz0-up>U9=J;NnJ*FQBOLfD8z7BFG1j zH9$N;uyF%?D&9zwBww&ar&I6)j68&{E9mYY93F zKjF6*{F_1)sLzpcBI8WPg^Vj1H!|*IJji&G@q#HkAN*!S-@xEE7YQc0jpi>F7x7X6YC*(UCZ1Mlm${>Jy_s^%;{kL|l6wVR;29aDv;c zIy)_~$+Y!8{{yLj)rfFy#`JfhzUS9r>J~n28i0_05NZII_`991$0zz7AF$5y;BkDw z&p1trn&8Id_E-ATL15+T9s;`Q>nH5Qp<&e`c{&?4p;))1SKnH{+CxVglg#GJvvp*= zyexx;E?pYA`ozVH!~7Sncv_wcT0wEIzU6_T2*)B6|MyVrbw}(yLGeF@!nhGZ&ID07 zwkL=Q$7cwlpuL!!_|z=G#&%`_ zpce#tM7ayw%x>md<&PEbZZ&&wV?_ZypZL+~|H)FrpR}U`uswTl;Udn-GT~w}MH~+@ zpM3hUuU>d>MM5xKR#^OqCBB=xh7nxVm({P>HX{r6@^S+lde6Z-59%$Z#}?635O@PU z1xZX#K@XO6DVhoJo`cAjv^g$iHpjNqQ&7tE6c}N1Y*R;@WA43HPa|l5g_j$&V>_++ z4IVmZ^BT*){F@cpvz`75Z&qkeAK@2&xj{RGVFMI^EF}Zf<;n}*oAUopDG=|}-i^D| z=Ju8giu^CJs{gd8z+?r2vCaOHKj$G+l5lm%3RB}^_AE$?p-48IfV^0UWW!%NjSYX& zHQd_oxV1O9wK~h8L(FAQKo~51gj@T#Y03vYltCq6WJ4r+PfkWj>q!T@XLMF#zb zoV@VSoq+G(qQCoIgF)@+1bpuc5v1RF89{q$5$}DAfv~L?iKPlnF4tzDf~}V*o>BbD zxquW|hq$l218!sa@}69w%JSh{p(-+!bjpmXzQx49I{@2y%fe^ufLk{hwq9Pac}dsD ziul*P<=;Q2ZG0QQNsik-+aZC{2+!J|Mrg`e|DMi)M)or70#z!iQn|vhmu&iU2u7^b>y3cPY9JJUDGwB0Gl>Gm|~(eU6`YKLjp(u4AE+nH%#)gb9 znMY&_$h_O1xU9YXi4ZEfzy6D3DN*CeSy)znG*J^BiY;$CUQ&b?GWW@uYK9jwN6{mW zW=|>ulnjxNc&Ry;Iuz^EJj0NWsKDcn^d96VAN{(*_hty1l)`hon{3Hobn&xJzfh&5 zU_nwj)1TOAGcZRioWqs>_nVN!GSHlGpLy-kd*3bC>P<*FA?Vq&WqS5ny<2ct2731H zF+F>DA+tVS$Q(_ji7)-S#P)3Dqa!W$ST%gdts233CD;6<;9jejOn;TfFBX3EJEPlC zRuO5(E2)pxhaIx&))01*%pohBGNY3;`sx!O`NHZiA{bMwtj39<7;!r$j8#38|H#3A z)*s$^D&cTHrvNi6^K4g>_AdZxh@KfCc-!I zpG%-(GSdx9AaxR1X&gTq`I2T^Uo62$2G?n^$g5brEW#2b3skTK5-d3;Qn-s+OU}a- zNqZ{!ytBkV4U5)P2l+enFn&^Yq4*=R3)`bASa|HNoEsCN&HKv?pH!bvOV<3{mlN`L z_@DD;@KRMN`?qzF<5q)Si|K~o8$ zR}K`=+Y7D{G=U&`F@Y{YrwAHJ5Z+!8R6s8@*hhrsBOF(6|^#+Zx=84EId$m}O`27uqPd^|zbaSpJ*urCaaUzsN>;d7FPY zs;%X}LS<#zpT5WNuX&Y2HL?hSltq}0&1^ec8vl>IZ-J{Z?b?qJV^j`lP|7ie7!)a; zRFo)cNKu(Fl4Ba3L~Vo;i6SEs9VDlQ!XRxU=cINDX(~xN>0GMaZtwrK?wxt(d;jt> zgZaMszTcYGv+i|YYdz17v95dF&wifz_b&ArOW*gFMw9UOy`^!u7anNvF@N^OHd-zz zYyB3VYA#a$cNw0=RlREc7G-}f9&oVlFAOWblWUk%$w&ad#=2UEJAn& zw>WaAe!W}+cRJ3g5w0AEQjDWx+wq6CtxW&la}5k7#b0!6 zTFc(NgqIFIWiK7-{`MCt;IW9y*kciQ(RUdV@I`;xJ@~^574Th#r|i27QjKq3QG{>( zf20-g2X1x$mj&$SUOoRUH!_+CB9F|BJ~H#>oBv?{-|(%!jWD0_#RltI(qxJ%`u$sX zfu4Qz_Kk=i((tu`cRuIf&3-|!HrDp-HXGicSUci1x&d!}X2O3#5h8m+gZI<_ML(hF z7Ytuq6@xayGPDr>%FssU|OcQn>fC*OnC^kL+pZ%4$F%aL3M-YkLFl8deU z_mPX50Tak&OelQ)afu9lJA!>9QiELdB}wM$4U|yM1kZ9j+!kl~d#e9yB2b&)KQ|G^ zD26SOiS-CuVooZMR2nIn6XYWmNGc7gXxm47KEg+OFyhLZ|K<-yod16hM*Op{VQz1+ z{z>12-0tSf=Xm~MyXW{DAB@Nu5l#&RY<^Fs=Of}91MLi{_wVvxFI9IlfIsbU&4U+U z9HsxOexBg-e#9U4J;*xOki5vR%c`{OmzHWDj}TrU$6`1%;h^s^RF{vwIvr0%ULgG- zW4+M<8Pke&gz0I*gv)0 zDfm}wPxI(>e$EeTLh>ezOb|}&cPP5i@Qc%8$h#hpa2ouBJy?NgL?F=!#w`8`cM=fe zdC$i?QQ1C5Wt&tQDVZ4ZkqRW0MoQ*5`AFf$(y-_k@A-UWJS2Hi+fxyQfxopFmEbD` zo$~Q;1iWA&2`^m8Sl~}DT&NEzpqDvcEo!1?BVRpVgBLE~D-9d)Y-Btru?hDZnBa?% zMSu3?$^UhI-#R?kDWi27DOj0*W%vPaZhGf)8~(osBsXpQ3=c=p{rxQgfBX_3-s=1* zU-XA)@cwa zST$k`!;d`iNaUv#In?^c-|nrxt1sK>X9bg7n~k?tKGHoSJzlfgZ^ArIgXyF~RhJ0! zy#2SjzvUg*cq$_9U3?KfSk$Mvz1@&M{p`e%wQo<)f9z9R?j&<>!Nm2t`N_i{>`l!} zYy5fpgeCEfb=oVR&&+<+xUpMy)6z?2$Neqy6T^y5_O|i4+S{M1_z1g2f#l@cr9+~vu+^%Cy znkkwGpX2paYy9DS$ec0c3@7JCa`yh3kjI-eP0!*5j)Uavms-bsyCH0eqGgS1h^yJn z$JUSZ$*D4zoO8)J56&@9zS-c_m0#UzPzlm7=IE79RsCHaAGy*cFWO~)hONK*tjjAh zYwZ81&V9U}QrG!6*GfArEp`3& zriSmu_ znMauS1bL4$?+Ne&pB~ANeUHfG>%K^`-%{D@vT5}hefJ)hS3I+w;XX1q+T(H5mEpPS zHDe;L?5rH0xPoW9qteD>|3h0d_sMy3E>`Kbn^5idxuEQuc~xaL?ji;238_Cl)b~OO z-$V-56H#UB| z-wBNdR5z^i*y3FC*z?Tu{g*c1-tE8kiAD-r^4C4Ee$-PgUnvytZN_3zcqegf2x@wx z6ur=S$k$1_W2z1&4ko8$Yf0xn|4O?=|p%rqlYYA$&# z$ehm1c`(2G`MV~nUM;@A;bueIsqWqK)Jv%NCz_UyiN4aOD%6FFf8G+8{XE-k?y8qj z{JU5EcsZqX%N@my@o-INLo$!Snik6a^EQma-4)~ zjOG4Rw%iY^535&fAn~d9sh4aZ39b*W@7>TF$FQd28@khl_!42eyWM}~oe6(@G4mhR z*xbM8UdO-dc0>IG`aa_&rIvJ&zW1fV-hOH$COFP^cy{FeHT?sde8&59S<wc(IJF#$PRe|DCPnjx>hwD9VAIMAAdQd+w&-qwm^{xq50U5~}1ry=GyPB`Y z%tFkn=QFF8^;EiHlW}bqXZ{O;*@zuv68>3>Yg84dUNyS$6Zh`uf!)3|UEoqZVT6A^M zvA=5i7q&aT%kSQBb#{LD*Q6S*F8WKuf8SIH>N3D6PDWqJyP-2gsuWD)I5CZ+AV>s> za448Y?*?KTlQJNgB=%8Y8b=w^Fyou?cQMiD>+?4;G2xr=w?j<$f5*dfEMMdg70!B| zZz!Dgg4A;wGV8NUg!dHTwF!504TSw_KjWhwKl|RvA2)75Ch^V&B9prWYd_a(x%4@ok8JRy?S%hG5*UvtWi5vPND`>NN4ry3qK!5DTfzS~POvwRIu-xUG~OCxISniU z4Tb|?3HQMg9KaGLfF<<9h3y1O_~%R~;DbHI2Lnsk36?MoEFm%%pS!a4zGI`e!-q{j z`c5w978clwbDhi32xol<8d^G+`QNe@j*EJ(Fi}hpo}3dC1mBQ0f^hDYm>_Ig!U#fD z;3%!7*3(gKSjn-LB8%#f^=(pAoUDCGEhROblnN;+QpFZfw@Jm2@+GyD)O1oRq@+j{ z&w;v4idoD@v(2}S{Vj7!a6znN!Fm_0i^2LCzqdD7kK=!pqI(3!(~SeXKDcpUsU_Vw zU`9?&a@LTum^o*Yb1FG|;ueDg*|;$wif&BUOE)GgrW+F;#M0dg$H^H*&Pe7w@#KL; zc(&75NvOvfoI9=gW6_ex9p*vzALOc6qb0Go(jpP}9|Tv1dY~mS&AngV`I0k6?y8As zNyJ=Hs6tDkfzvm%}y6ZP`UQ38x4H9M>2;z(Ny#_(_Nm}*!KJ`*%GMP%p<3(mMCmEk|^M8u6?a!Y9uOD65SER31s$(c5;ed zh-&ha7YbuVyT|>w`sM2CfGf;3Tx$Wy@mu}N;PD4ZkA=Lpk8%}cx8D^H7e zYTa_6zBu)wcf?G7-LnO{`omk-Rh$n0Dp)wB;gPwY2`6t|xytn@-N3|#-itEA<@5O4 z$CjqmtRV6 zIZt%Dpsouh{L&;b@wHAICySHv#GF%jahJKV328%kTKxaF3u{&}*1>WO@

H_v~kc&VDy;QVEUUNhh@jj6`L2_R`H7>y^ZNDOmAj-Bh%h$;rW_61(D5yM>X3A zrWWJm)s8w`*A3rKuNx^!`zbsg(|g!-Hw8BR8=Jm9t*-fWVQ=-&S|oQ=D?;3T$9uSn z-Mqbs=ovW@IXX_WyeGP;>w1Si0rT@B$iLah(!0FrhX2bZr1(0NK5>-eE`)80m`oGf z*~D-*vDb0e^%LfbgxSe3gBZrp@0jpWO*h$Dtw^C1%EwhqQELFm#jy-$dzPMwbZ3vo z;%rk5EW5ktx|YCwjk%qVPUe(1ZQ1%#fLOWEIz-KOd;t77@x&H3(UVQ+v5A@^lT(}m z%@ql%=J*tu7NsZ9363nI6X-w0RU2+T)`~0YG^+(!r9xlhioR5SS-`rF^jQXRBgj<)x9<@y-JH@CA+-%-; z7=obZZZ_{cAWJPE?>O*(Gcyg(SysAMOVw+2OmtdBLj9$%5S@z;Gm718+9qRxDRQ&< z`r<vU{t+jq8IJ z70AX_>ntqrO1M5~eu3=CHC^X=D8*Lm%r20PS<}^0!*FDxjD?3%>5bnKIN zTP0D(T*FXBVRLWkv)!r;dgo0auF$c!v~xG#pSLv5=~m^_OL|;4-`!gb46nCr+|pRn z)pyMn1GVdezAEqV;@`k<}_vOa6N>U$_{s@9PxkmaoD zs;gnBlqjR)p|pNYS8WZ$feIaE@@^|8%4lgADk^N2mL4ZnWgwk5T|uFvv~*1u-!(ps zye?HfJ*3Ze@ty5s5cO+|o=>B57vFDu4EFvy=*}~*oxiro`WS5abEqbTaJS zadWp0XSb9XbmL9$)v;r@4$fOPelxXx&Xy9Nt{uj0*(f_zuhSsD#MJs4pN-Y}diBc6 z9y@dj>?kWcp=;NEhDzi7bQa0Vj_ul2zLR112${Zy zN~5}VmFr~qMaPbvdAGYo$n@@H*sbH{P94T=E-~oDo8Gl!$4(t;Hf^ldtLJSh@saFs zcGJdmJ-r{4`PcO7oi}a#Sx@gXyY=)8m6ercWo7(y6lA^Bl$F1dmF?cO zYiC2HZhktlva(WLyGnL4><}T-(NIaUYu65)3?({tl;CP#*yW(Tv$DD*>tWY}J&JL~=S93GcpFwN$k@s56_lZR+KMyaGanoO|C*m+njQYE#7nIUcF zwUhM@(e9%bSzU{(kLstoY?^5(FW3R5HZz0TO!H7)kV69V!VD%8SZ01e*t7*1j;8%9 zOd_?HC8z{kh~kB)Jq@0=KEu(x|09a}&L8J^ht-}2 zQ5N&IEW;=ZoGgneWnrmbv(!Q2)Hokf4?}8(bhr?8Ky{ged1!X9!)s=mwwch4`iJF~ypBHZeXm)q6U z{kn&(D&xytlQN6-+<&>04h6kr*hI8 z!|ILU{>Iq<#<9jj&(-i${h3bMJ>^ z)$J19jGVb;`}==mcO~MN{07s2ui|Xy{5G~FdfQGftG$gm-m&8r=gSqfUbbJJ{>0sA z9k*(KfA!b4bMnRtqPGPQWB@1DxiD=ACw5(7+9*!!royxdoY?J!XgHv;~~lvxQGM-rkjug%&=yFO3RnxysEfajx`#;axLUeZ!$EgD>R^ zOaqjP&lp!)i7X`V5G0qI*|pZYX{`E|M0=rWz@Vxak%iBlmI`j>h+1#KSoNKW_9D}O zAyvf)xZBc-Uq`L9gmI5yRh>3w&ad4iaVK-Qq_TQwqJe}(@?EXY%Ib#`7fV=3-qVs& zR*y*Zk+3khr`1ha{a9k8goV#Nt?tT&mlX3nR{KsmoKp}`?B>zVFv{7(pug{=cO9k` zR^M_|$oncFc|fGI$6_^Ur=7P70(csU;}F<3nSQIF$0~)qcO2|`s5<#tEl$ZP$a+@m z=AnK$Q87=cpvacDQo*jrH<%i7A5*e*n7WmyXxC#rT*2fTL9P^XO@QkmxirX?MlLnD zdZ)r=Osz~fT;zH}u10d{P%d(n)H!>o3pOa& z1?VdIT1lqgF39Ry4_7BIxb)%jA=e0UeMv3@CEu8g$%*~9>qy6KiwI0UdA6jmdighe zjl})|5SXtY|GpK&(GD*k~lG4r@-J|49#s=99tx$#xB~es{3?&Iuh75%$uhN?! z8QPC`-_K#1+JqwqI;8G&bTFJSB(z`p{f*>`IM6foOGgJiauKQvp?Zo@2uv3TMj#L< z7RW;&P!xzH6nX3DOg9u7KWc;VsiTZO%7&iYabC_+r=nJLK%utn+QdLi80n^UY~stew(MniC=Y+Gq$<7nL9Vy zYMO?ZH=cNX;_1n+kCQyGbA5fH_qQs?&1Rps%krEnNs^Uy@{FD9 zrm~J%oloSQ^o%PzLel^0^7<1UAiKS6z4)#T&5t{Gd(yezlPqqbSylE6?Sl$WUR)b4 zHE~_qa16gRd*DEn(R>y;Q5bta9bv)SX z$zE+5GV9v0SJ@cCckNiGiTLU_hGY%8#-3 zBJZ3Pb1{6DK|@i6-Oai7d6l*c$-G78DrVj$(~FsR$P8fST{6R%d2g;#Ughb94Y?I| zDRaYfE3YnW$f~frKUXQYGIe1?YK2|u-0bL(o?+gkOwU*%=1K8`EzmUTyv_hjyby7fz} zQtwxV*{VUYRsE(>03^+G&T=`S$byfgGbn(dx^ z7ISG-ExQyQcO%|V{b@Z?=~82x=?oJo_T@_oe8!>KVJe#z3U0Jg;1&Kgc`)Bltz^DR!Q2nxtI25bC+IB4qhMDy53D|$|d=y;$gISxL-VU zINiGbiN=&=eRH_J0m;D*=f%U2w&B&b+26#oH``|0hN*3{x#HQZw%N8}Zrg00c(#a! ziM-KQl_Ik}b*II@_TK4G)%sQH^OiY>xQceO?xWHUse|i2xhBAsO0Eh2 z6I^*pJGkyf@u>YDeBB@o=>i0*b3htW!6Vkz!S#$>lgae}u6S})lS`YUkXQYnAWJ|4 zJc5)o9M=st>KZlNLy^p}fP#p;6Cq_vSiUslz z2owbZr8fa63Pi4U(sxN;DUsTRw^EiAtaP!3;b)lW<9JMO!m!YhyqVh_zEHC~a-di0 zUdLmG6FP^EOowZRnq|a+j;TNyicy;g6(L6H5sC!{cR!c^+AU1#kZAo)g;yJ{=m?Cv zlbDdm>_)9IrdqSCGh`S^X}1j28WXBDtCS%_Nv`Ul)(mE~Mlnh;DvXI_lw_0-WSM=@ z#(;g2Zu6v{+DvwI8ultU_}e46GO~iLbU7UF~20O!(yOq#vHXvSaFS-pXF2 zV5N&K3_rufC!n?O!J6Yct1ZxrH&R<*NJ@`}%rg9V6P(HMQ-qcG&po<$L*#ikwqfMi zSMj5G5eJhrkuH1X}IH&{Ec%b z&uSsG^VwIPZy+d&HVHb)1F1T~Pf;_^w4$0*>Hi!t0m3wN1h)4* zoz2OSD*`mM^zF@Uqji;_kK;fmE;z!Tba^r!24 zt?On~i0exgf-n5WPV+=AfW?AIIOBKaAX;n{C5E~ic{0b^cR1or5*&Mo==WAHqR-7t z0hx*tKjYd|Bwk^zrvy&n+T|L#JCZww+$Yp=0c$1PB8%eWhsbvTS#Z{x((fGy-mQY|6Q#`)oIN4}l6$XGIP6$hZ8*SJ<*CM$wke0g z>K}l3*Wr}2$M=X{p>TM9VfBsvzABG2rkq7$b!l_))XD9lit6PrI9iFJ&G}d$3ojVE#y0v86B5tO^_@yhGJ;Wt1{gz3NXG8AQ@(2K zxu<^cGAW1(NvQ-xnMtS8PNhR3otFK_r8XAidbA*?H9D5t@{yc333_6D~EPY2MR7ibtDvAghJpEaiAduri%k3 z5C{|t80o6;4>O`pR zVpK;$vA~&&{JeR2#NPr;rCvS#6ePhXsy8GUg5w8W91ougAAvp|L%1roFx*I8(Q=F3#op7;brTV8TYoZW46CI?N06H?-nh6x{=KClk&m7;T{mukGu&_`Zw!)zS9rmbvwH6!6Z-|tCd_CCi04a5ds zn8C4mzT2=LRe%63=!?=9pQIdO8}Qrq5NqNG(<=>APL1_jVx>lgj329cA=cqCfwnx9 z?RXuc11Ne9UYb)_UA)g<Jml~@7RRZ^WWVkmL%PjaYmiY|30^1)rb++g{u@wq( zH}b|uNfn}dKo^zG$(L)UOCVMNhJ!PE5lO+BIj@MM;LL&8*h8-|m3$ z4bR;?%zu-v+MZLO?W~okvf8)tMn(1EUlj9tUrb)#HhK3}fp)e=qRIf@#vcl+53f|n z3l2zLf6m#%e4=!fcyh`*RCn{j>KDrt4o^XMA;#IGR!!Rc@U4Qo4>jIQ8UmA{F=Y=J z0Oqi_F&N|k0mh&fY$`Fd33YuMSis2xRO(Am>UAwdS0b>h5!!;OE>!aG(p3Hb8Ww<$ z-Ntml0-A^g2z907ZV@qP1~Dj;pnBekR98}8l9DCW2WqI6uT`;xg0GcS2PhR%(@8BQ z#j972fu765SY~Q*9b%T-m)L1_o-zfWehPPQ89*?K#WIyzUAj1 zSGT<#CvI{GcAU7K)FuZEnYEp)Pd@Qcc2#`3eaWk;z4Acv0oS>7BmUTYm6mmY3?f0j z1amVX=5|^cGL!`Max<%!!BIUR0ZdRYcT>Ie+>_t~2_|vb2-(eKv&&|eAjsx~58U#3 zkF_yvMg6B8r3)J!x;tL*bJ#%&)<&^~;b)lm1UwX5QEfX)?bF=OAD@SUz_!s`5QL&; z_oX4H89^{RX}*0)xb617CuO#~vSXUxDs~L?^I}JHzq++A-6L+6b^ktlUsIUlSt1Im zD37NYKgdTYXu;#cHV7@|&+<2-^rI}!_tF6wKova2=mB`byl`n&C~-btRu^|y zo)+)>1|FIOD1-C8#-CyZavre*l+GPl#n;23Z-`WQ->cV(OcLg&3OKz~=NX9LZr#HV zZ>dIDYAgAC$d~nkLHQsIU^J(QCk(~)Ehje6t^>qoN7gIRQ(D7+uinCCEM`9A3v}V} zB5XUnft2DyhPE~miRpWi*g?Av9x6Rz&l0J@1%MQQ!XPX76N?q$W)5~fCB|t0y+q6f z7a%4%Z+FpbK*#U+A6fuOpCntal+(a=TcW1a)dIZCg zB7ijY2Tlevzz7B)f^bS2)S&Olhs>=(?xlIsRR=%?UV;^@(@Jb-h}C?cx^xxR_S%m$ z5^wkSZN!3q;0lGj#UKi8lh!cjfj(quBrXN^?Zbgi3VDS9CL-Y^>8cte%tJyj4-X_1 zPqx=I@V`}%^_vL$2u-xLAjCdGqzGFJugKLxTMOih|EIgK50EUv)dhtElEJL#N$oH2gMDg(}Md#yR@k5$K_CH?M88)yuXGy{@Iz#Qm#~~N$ zD#qI^RO)%V*{z@I8FRn#w2Q6-RL_j{yM5`0+-WdyxKQJvYtB8zE0cI`Yjx z`iok`0AbbIIllqW;#3^*OF&<%#{36H&Hz?&!*)EMXtOYvqa}Y60hdK?WA5SPuA

I8*2cAS@+d)7aYQ0ZkY+@mtdetRM;Rp$X~<`>1kPhlumpt*zhwzT z<7ifwVnw$pv*;^?iIga*Xfd6VvlAC23Z%3B0UTZ&!LE=Kw&NB{>^i1DOZfPbBl{@! z{{p;Bc68oH8J1Jtx$JC|_Hl=eIKvnTg~*$(9iQR610-+>iXAlYNAbnAaW)&y`0}1# zmRtkmAcpKf$S(-FfFUIb*&oP-#S*)C&%@Jlt98P!6nN>lC%0^<+}7CqTaT)`O9S$X z*G@`ID_-sKJK$Dif!F)|yaeujejWk$9zU@)oc@Qu7R40A*1?zoqcw%ED_=1^*|JKc zHbqWko@`kMV=ftuFkJu926w>Wd!pRxOkvfw7(Qpxlm^k2f>H^+NmFbkO18!HmdLGk zkvuZs@Gc3Lf@?0>kD27@rT+$p_>d5py6g3`W-P?SW(3W|_M#8pv9euH+w zdJ(z_24c0M%wG3Pzk#yaBRprm8wDWbS{s&sAkl{rZR!Bi@dPNrp~-d3~;q z^t4RShski~%sC1y>flWeD%mKZ#D zWycBMYvqrL99G}c`H<6oUN8QZUxXV@<~Vlq(x38R7)s?);tA2Kf#_VL@i=o;!WKpk zE(e69%irMGMQlq_7A{WMqQi8O60@038pv#>lN6cFbdmzI6+j?RD37LrCZI5ymP8h? zO4*D5g9j^}TZk`+AzJ~-n`U~v7CfPDqRrH3k=K~ei@aVZTC3Lb5(7eJ*Kopjyu_uQ z0C7mbwPvzElFCNULGw3pMg9L|n2v~wC z#95HQb&NktP`$Tg*TchPgOw$BZI1OAZdlQ~4*tIJ3v1Sdj2igh$D7I4XFN1gf!ktkiI#bs5QJ}w zc>v?<*6?kOW6MPX&dp+8b!Llh5A&O%ht-(^7+GYr!pQwc8{h%8-~s2s17d~wJT#wV*1qKF(&*~^r=QAca|Al5QK-Lp`V5f{d?hv*d4QWA|RX|$S;B?>^5 zuYre70ZL<(PCr!sUnog3tBpbYh2R9WNU{%=9}9hxeZods;18SIl1~f!kZ*|r5FiTx zEaXk7&|@JVR3^;1bR4;}zzF8xBb=aC0+_+Kv~tHRYO4h;^D%+qiZCqmV`-U>2$b9? zTIT;(Fh^HDfSsUlp&CmZxR!@&{kBo}fl(o@fC$3x09;~LYZ@ad05J9fz!dpZmZ5H; z+8Y47BrYQ>0B90f!Nrs_vXa#r$JorbjR3TKmk@Q2F7-TpfD`OW>H5ngP~t7*QR0I% zJD|j8_CSe`+C}8RwKK@U+7mA#`aiY!gypw9` zRdYi_8^4~Fx_;lWmse+4*4ahJu8YgaOtf0|X4)ojZs_~`JO%E3e$L(gdRF%0eaBv% zoniTUe)P!or!w|x&s%nH;7PS5NWrF)t>+brG*V6ol$KhDi3&%btmhmm;#iA{2Xi!1 z%39&QN#178p(S%gf$^s*Mb05vt-24+T^8N8p4W)bG9f^@1Zn}u^)rD!EmQeWim>$R z`}7Q+sU`ka#VvC8GH=QgMXhU17pqYIV;RW^DMK0mfql?8m|DLDYtdjd4#xV~$zm-! z2aSUsya8B?I{D}IStSeULsB6N=|iF@3+Y1=CJX69Vk-;j1Cdqyd^ZGk|9vA?`GXgd z|GFXYFRfEQXd&6&I(2jBE}Y*fLB;2w1Rv$Hu?YW=<+TsDNWMn6!25CImMU(^M*Pie ztqw$E1b-RP7{Oo0LHNr^jgeq#jQFv}$Q(3Ada%ZblmA3Nh(C#&AH<(T+7IGSV&(_& zCmG`h@gL(q{NvpS_}`PQ3c|yR1aVNb+K2T<;2*vkg4O+o$3kiSv5aKdVY5*66l2BGEp3?*4{1&B&k=4W*O45L!24*Zp#m5Rhx}LZIir`4E@z_tm5`Ko#m*OgzLE8sd zqDOz*jM|Sqi0BM#8&m+A1yX>$2-Dam^a-%2pFv~*YxI#s2CzoAAToe0iD+sM>;V~w z1sTAOM2H2o39tbXUC9lnHTsNP6nSh!?7b}VCaQu2twd&!0Q(9oK_FYB$F?XjqGCbC zA5k@2}rC92NgAs(m}d z^0PC78|Fvf^*ojF1B&!H6lrS|=~JlTj~4G6-ZmYZhI+08KYz-+Wo32qquY1%2kJe3 z`l}1mz7F_Wv~=IJFj4%B$PAHnbo2fO&X~}^x&0ex&Y$K|X|4=&a~egbGLE-!<}E|3 z;G|laFnn%*R}o;B36@K+%FhY=U;#R2i+fkN=u?*bh)gaRth!{9-K4lkPv@r0lB^+R~NV*bU3uFQ9kqV z*t>D)Ot*xq#VPTbvbPlRztcm5nwFkYMp$~vvZZGfmY!%(W9f;1hXEbtC_mCPYclT(G?6qui(@Df%W+KPpo*K+ZX@un=Bvv zO_p|uYqPFaN<+9-3T`S0JQ-=e9rq4ku-hZd>0MW@}q}FXeG1d=@GZ|7S2t-B=VeEl+!mD>0-0b0MCJ-5|1R|ruOMn)^=nTVck&wUq zVyC)R&jsJ)$6f3KV?7yNVH_mm3m8|(_!36WHyp19U+KD5LG^b@;Yw5QH`XQlHG6xH z7?+ zk~=Sw1}v_;GVbL&4#%|nFMb+1?wtqS{)_p5yyM_7rT^kvk>lDwEH0WR-|4}<0JE-# z_6^9D)fhENbMTsZtA*zWuNiai_Pu~g@+cC1Ai|1T_6e1F!xVxws?L3Q}uHttaI}Y6q!cQU^&zk~#@x`P$|Z&vujD zCEj-db%#4uC|4Wj$1x(;Aki1iRyVjn)rwKi zfr5*nYJg&agDCKZIB+)wJ{Jexp}@DKuW{mRr`Hjy=T9d`wizi;dQ~R=7Y79UOL^+|H)}DLV1c-$pBK-6g*jRQ0p_)T}}3Gdv`s-3L*8jwc?p zdydb+W7|E)r{}Svw7l0%g2&HaH4b5if*FlsxIz||@~`0Ij6y=I`!fvd+>xD3fPhjNiikzB^)vY=e#QYF_+a#>O?a%q!mc0t!X11Y&(&$L}W z$Q;yip++{*SNiL3^Cu46+?cMvwJhhBLG?h*XP6K3qU0-r!YQw6!VIDHJ z-#TIxHMM)5!6Z2wAWx(tZZ0mu_rcc*IKS1=&Q(W~zfc8q9zhcTEsVDV$eBQAMiI!4 zKrIAPoKK+ZluxBE@?Ab#{g6{z=NQtwPAx?+C3K1Rz|`@&fer`4r^nw2B(g|pa>*j4d5tVmn!l1oO7l8dq%@PsBBgnQEK-^`$s(nBi>zDK2c3uyF7XQGt?~+0N<9)!^ky+XNF{;N`}6-_i~7`<8Zd-ugmfp#H*Jnc8`qCB5>fM*Pa77yoTvmYM$Z zwyUDD7p(>vGMpV1T{s@KpOy~U?^U`%ulcMUyPLB~(EYi+tf*tN{2i{Iuyf5=KXSdW zR~Bt&Nhb`QryVEP=cUd{XO zaEA(k+9O8wBGer*YCEAQ5U3l3qCn(&Zr@8Bh+OTY|IdW<6Y$;VN~2BlbceQ9yXyp) z=5YlRIJ1REK;b3pq+Xie3*QS0|2_WCGiu&ZEB|uref*y{l4B{nB?!R(c>%QnwLR)c z!fL~673)ZRYJF-Y>m=($?t8oi#e-YZeG8_SX1Etb>gHX3m~K^Yk{u@%JW_JXT~@NA zx+L&orCPmq(>jNfX}{)JJS={u8e6)y+AXtwvd5_9e1*gw>R!@$n?rS^oOEY}`&>MH z3@|gmTDQy(_fbNQ71fbiJ-oj3c8NLa^lKoJjcnqDZAA z;8E4t7Xy3&>d{0+5tAJ^G^{E-iVUKw{0lYdh!onPOd=xRJ1%LJ4$`idyW(_E2GQT& ztju|dpv%^0TP`#MduHA%G2{v$3kb4iYs0E?q*FZebJ8kp1SiWqx_BCAbou2v|3U*| zq^;)XUr@ru6?{>Z^BUPS@d*ALZ=BF~RH9RkI7#EG7M7$sDRm%0{Y!FQF^6Bfj=rU? zzeE^$DxPuNW9K`{ChBp4|HpPcSIH><@uqpy<5K@{ z*733I&ewfm#}x<%HS&uZW$toX$B)3jPSjwKtV4t09&0dsj|PJgYcPzxj|Rg?YB1nm zr)iLFOw5|ins+hLZ`N<##Kff8q7Bca65U5 zYSRRtlE&HJ;2H@Q+~IB|1?z^`!tgUplPsE&7{(v7q5k#)_fY=V8yeVg_;38e(^|8)v zSzgjQ{1NL*%q+uw0(DYQH8YE!MasmZ^b+J@8>D3-2M{Hnw4_wj;LMn3@lJIF8PxPD zM?hJ+=(IsL#U-gy7L{iwopunU11Q6Df(XGBKoBgIIBk$i{<#;64BSIC=Ytn)C^4%; znebWw>JS?VUXX%d*9+e_t^#8?M%8~FYJ3?H1<-+aId1Z3T7kgtX?kGAk4q-H0CE$m zxv(drGM2uhBCz78L`L<*c4jG_@nggV^(y;fDqY|&gBhj434h3+NWYo_|5rqIkYtZn zjwe2@@2C@u;~)v+I7o7waU3McVjKsBkAI;xBkb51JOfJ2^>T!3Ol*!E{=^jH9C30_ zJUq&>7*Bx?y=>3J89MC1AL5w#1icQZ^=m}#V#AvhIiW8ibI(%bZi?JL8j+eyC{lGt zcx9hD-sr_Tp-b*hkKfts7%~ow;bo-ttqp1^KLtAUYnwb}6~7Z}{j(_ck4{?OLL*>) zoI^h}0v4kY@MaP$;WZ|`)l;5evIUde&?T=B*@{T<Nec#iSZZNm1>W zC#3>4{&Bo@ncvMg>oR{*J4x*#wVPBBslB8^j3%Y17vKqXw18>x{jGfe8^+KaXWykr z<{s?Oh)RC)E!5{ z9Rc|UGD6pn)|#~Z#ESIuEmGfS75NDksUNm$(#|5)$YAgQ;o#B+);$m$Br`>~4qGXo z><@|iNjHbu`IzGmvwk6NV8b6gg}8yLmyGw}?6S4h zJQXbS6Y5d<2JwP+9CwmbSyB}JS{Bm2qb#S4A&w`VW>@Opt^=jJ^hcC#(-;(e zo6C4qM2dwde{KMpaU|1mHy5& zaD(Ek(Ql@|f*TtYi-FpSS!_^@1Nas|*q~^ee0%4>D`&(1aRI9KAH)U9vPYwPgf7BO zQnyImCUu9@T~hZ*rGRf8u9i26qm6`CgUW`KDy1Le?7c<11&_ymx;=XkioddA{_r*S zzeQ~49BjI{hcloV3f6Y9h2dwIz)r~!VZYk6-L!e~ront0g`yzaZNTIp-2JQaTig$mWWA_IxhN=N- zml*XIwv9d`J;mnB?^`tOZE}1RdP2-dSD{skTEC@{!cx#{jtFIzbS?ZeFZFk9p9 z`sdoC_&(zKM{2FIJ*@#Vo6KCI37{wod`F#P%lC3>8i2*DV!I1;>9o5*M8}nO7wC$m zt+ALvlp!W-?S8ya0TJ-)uxF(e60p)t~$-!}PrdC2NGhthW) zgv&!J0eRN}Okf}&?>NM+r5->Wt&*t+a1*-&qR>+%IoPUjO@Q|dd9!I_VZlFb&)_Yc zf!}vTn$%5g&p?Hd$|a>3M?O;6Rf3O{;?LwG6$X{^^V0ato;&R0Gv!G2Bc(`c5UF9L zMv_w9u{vbpv%jH5@VBf!jRXgkp5=2nwD=ToM78chE~j}ZHgxsbhOW$gZ0L?;8@k(R zL$`=+=zfC@-D7M+chbuNMUa;yT1AkTBvM6?mn14hke4L#MUa>BFNcV_)HunCy3{%; zlY&(vwlMs_iS*rfw$XBVcYSjHV9~KpzH%OW54RWS3kKZbZXyNihSEQ_jF9+l11KxC0!yj170Cn;J@q{O6faA`C>ET$}6C|5f z_CN5y0trABJfPD#oYlu;GT;f=+z&3D@CHI1gV*U{Gs8E=(aJu!l;{Bp<#^ggn27y~ zW7IHkkjcI4at3_@A)r#|3cQ3vsBX=>*bFH33l8eKs65O@OMyAiCcx%Ia48W2aG9CJ z5U@${gXY5TycSFWk{SwF>K`CJ0OE2Nw;!;riDSufc|>5wQ`-PbeoDc1CXgb+=_E_h zlh_JUp!j2@j}(SPY>)!>sG4 zG-QO$oX&h;26w4xpz=@=bYP}0bE0!_*X15LY5U*>?meu>y@!0d zqd5apGjMBS>6>W}byFo&b*%Wk5<{Z{t>WuZ;C0YVz%7aVwn^M|=#>;2orX!=lBi>! znt@vq`B?0SBeHEW4wKl4NJ1oTN#uK~o7!U%EeWryq0w!VnpP!94cHwOT!+{cIjD!Ea!3`DDkoJ(s)dwfU#RY+ zdPDUqeE+tAy=$pzuZ5p`4K4sjdeM_Ea~*PV%LKmHQ)eO9m^ zdwnG=E;wC&rJAvUwkE<0zW8Q?OG#Y=g&yT*XR3Zpo3Ma(528>4&rr)?E@~p(S`d#S zd5K8Ed{oWHxaq(gW%LDK0e2mqiNhU4^(J27N@XpHQ5--8MkGh@fGQLDS50M|h|Br{Ga&BwDz%pNC~jCz$pcs1LEf5p zhe;8j<6s$K1@tO5!w@qPOd}#mh%PnDKx;)lbr>MpABko|rbF=xfdv9HluICV6Gh1d zK$Z=ZC_vr9i^&`S-9@jH69#!M;dr zdl1-C6Kf@oFz`x3V@G#)Ig)SkE4baL{dr@f7$O|}xt608Tr5)*3&vA!XxrIV94 zWIxnc{2eA2F3R1-{`CMsPd@lR!u{(K=rQPPwX$H-$+6m=QZ@L)+)66XX^sf?cXZL z?5RHtIUugvgqjtAt_nM$6w8+&`Rp0Cn)lx6l;$^xJY1HTdkZo{)4z zw%-Z1+|{`>yX8b{_4i4VPkMPePHMePUGbUZxeK0zn=Gpg_)WMxXDy=|;SkN(Jk3qU zX_WjbP|XNTVEHLBw<*qXWi%J?3-KYCEOQi&Q)M(VVs7D$^frCM)nrWN zy|({~dF~ho55~l0mIb{-$6IANS=vr&W8v+?P00H%a)RTYTL71@Mi3y}#EO_~Vs?ag zR~rj&A8zt3m=XTC6(NA5=5X^S5kJ4gLnin5vPn&)P>C$YK#FA_-bs@_do*klSi+x^Oi3~g_{)u z5WMT95ZYnZJ`=|#-Glam)W=yE zE?J((pCwtIPnSGCrVN!&RI3(x9hlHKD?M9rANHE&I|%{atR#Q1dGw8rQG;K1jr`U- z`fE?@r zS&a9s#r}f=&l|^B{B{b*ZwFd59aLfU6Z`++?f$~NU9AGV-JjTBsea5X)|>4n*g4x4 zjS_FqVo3!vgw;I7;zPRKrFGBC(wwk!k-stQq}=z<;qP9}c1;QRf%`9xr2e?h0G6VJ zMOzuq8lC^Pd=vTnh2!o8{Gi)8MmK5im5j8aXIc9med#nwsPaUp4fi)EaF+{tx8j%N z{Ne5fkn<=1caoex9O5R%`RkGqIDh!NjI@!@(#Qc$5-LmsrNg4(_Xoczf=^!{yt1i=B|lj73^2UK94 z;6MRxrxt~j0-|v+VhNT&0u>9u5~yGwBt3H;^*rKsCd(GGEa?8^-GNgeVM6gbRIo*$ zKVt)35{yxV`2840n1c=@fe;_S1uFgwPJxY#m;lD8BZE(Vpx_^XC1WA^_j1O_Wme7r z#z>4qtn4;L3+5!l%}Hv|NkMadV-Gc~dUd<(7`M=x`-^DbSGyy0oMSrh{K&0*G8WQ(gLzyfR_ z1H|d~0)YflGBv7K+j%!2BhcvM`|I+!u}K%g%}ybOU~lJbYaBh_&v(`1OpOd^%9bK% z*P;+bgotw>`lC`HA>`+3=dE@YupkStAcBZo5Nfn#G4F3pIQxeBsvoxwFL4hui-^s$ z^;YA6^_W;fV)2M|4y^tfV0HBfGbL6gn`>4jPGcm0^f9)!LNrD+|&CJe`mj8{>~n&!r$3@ z_&Yo5FG@*U{FNo+w%Pb_V5SO62BrIE=rslDB(VH9BoG1LMd^TrNL)t| z5{QHoe?Uk84)7`=feY}6ri26#sAoJ#c$UlfyV_BR`r!$ev;KvA0DPor;10RS93TKh z=$mT0IM+~QzMQ2nknw<~1O>=9K1krpL>8MO7++qy7}2@u9)#-|i&r3i-y~hMmhh2dMB4}Tt)m?XP+5F^1p=d{ZKxY_SB!U_XZh=@# z2NwK&38d~fQZ|1%viX~-08l^$02g9efmKVaj+EfvMXYZtwUh4sY!-17KHrXDfE~er zfdm5*iFF>V2x5H!mSs~pKs2~6l&3Gmu>~`#y2)cO1e(p9PxL+^rf!e$^43Pdt&f|V z(|GE`mQ+`dsS=2h2AL!k&nrT|;h1;tr+ni`$lv-2e>)r!hds&;eY}qB2U6?Eejv3z zO1cQy508dK+Hp`R+i}pMc850u#ox|(S}5Jv^s9hmgPC{4Lg|FBb9>el?--|~!BR;7RN$iG)|V@+x81HI$p_`PlV97jr#0B9)wqtE5Hcg^9v zZs~`~DDk+$FY!A<$|EoZ_@{d7PdY4Jq&ZTGzQr$Q^1T4vK%kDIYPk?kH=#A+l4v)8 zgqHkUYv-MG%KFN?UJ%|V0TsOKx|EN8=OKpg2@=*d6Dzj%kh=eS zp=e%UG7uaA9JeB6R1fMtXciqwgO7H;_3r{}r~T}G^-iAb&JDPL+ApIp{TK@e*vIOf z4zv3<-~#G^jKcJTFC44yJS4e}DnbE9AlmAeE9LL2d5vs=A+{)rDza*p(K#)9oz1A28o)7rO{M2!7!~FyPu(?%WaGw3V{fVmEgIPwRG zdQ{EtWhnfT~HOq)(RM8wDyL%axCSa3kB_vf5 zl_qeroR|Pxyk%4lyuz;{O>n9lX#*cBAFQNYfmb*+4xW+_vnwhCEA3D?@Cv^Urni%? zj?Y|%hw6b>IQ0#l8i@RWk2}Le!+=-#U1EL#rrE0?v)co4*w8y(GBY(!p0e(T*1^-^ zX0ws^x3lwJXdL}LItAoQs1i6r;$1JOIyi<|_j||7+kL-uO%crgQ#fc*;UKDiiwXzM zz6E$VjK9M&dPE8gL`ef7a0fF#tlO(N&kpOF0Vwz|I=?Y_Aey}5Yt zkBzPPpW06A%S3Hc+o{rO<;lzADjk%hK&n#uHif%mBjX%*=f*9^7 z__orG>q{fy^caS^oRQSTK)HQnb~Y*nD7WVe`#cem*IQ<_lW8UND%Fv-5^i91EN8r3 z_IOkbP;S`3YBx~Es6%~#VTcFF7%^a=%${Eoxs<6kMBPS*0KdH^YlsY~z*wG@strIy0q3!}3D z00pYpEy>)$gux|?(OBRI?`=wDf+m3mM!=s+4|E#_xIiL2imq+&r7?HsuBm|+qMh~yEoJ^c8U z{&4R3)IQ*~dI28p015=lG*K|v@BsCLI}cW*fq9sihQy>&!JP-Iz*I!DV125_jeXYr z&@5OHWVRR0g042+&u2t;mn{v2XGgQ(e)xVg2q1X>489+Igf}xaR4;lEdHf1>+p2yBcz6b#~@0G_@`k~WvS&c6 zRa>&!Y{ys6O2Mbno>hWDbOBWi5)7dWs7e`yX)70cN!^+nJp_%a zfBUY%l1{&N4Jv=|(#YSpYp@;}fFK+|z;ad=eu0CFUCKWfs^O4AdL1!Y#JmoPlg$S< zy6HXs(y1$}=Q@@bO7E!%`c2{X7{)O<<5&}ex&u?m^~3LVWp$Ia3#J}xVsw@>Ou>L# z>&of?kB@Hn)V{K|!LBSRJU%h9;qe&>(EwHsBHtjctS9hu3icVs{U!!^e3HloqX0(b zO@gDEx(C0eEdtogFkRj($OzD;hNd3DJ??bYVY3X>^`XkN1VWYR6@+bB6CrHZ(jGrX z0D$CkW?LWtNszoVuo(sr3M6u2RH{fg9C^)@0e7XAtTNtOk0jF;P4FvTE8rVav0iV-8LF3bRh^a=* ztHeaMzZmU-?|ccfE=HX0_KufI^aR$UC$JHSzzz5SErZ{qW$-py245gtZ(4qssc{3V zXbU_SZnhVh0~8RxHID9%jzQVd+hcx*>Tt6NI*!Pk`UU93;%!9Gmm0YLtqHhtJ979D zX)BtZG-=e>YA`V(E{44*&0B&NlgCo{#VG+vKrZ{dGkjCh%=x4E^Ov$!)3tE2fZ#?>(|*BuR(s~qUIA}zmlWD7pvjU& z{^mk*|Hy;ml;S7CQ}D7lli0#)F?P2XBLxtP95s$DUdJ*64hY500_u{tEnb5FAG`U? znb3dCJy`vuj%k+<66SfJUa^TIyWTd0PHz|iXm(QU(jM$B%`9;Lp74QDzpl-dUutwF4Q!NdZ=yJjsm6C|S( zkJ%uIXxy7}|Iy!K8Jh|ariWp7AJapqNq7O(0^4xfGJv`QByq@5vkdI!gG2E7 zvy4k&cu#}|yqR+YGHK^vC`JF87l8q6ne_iWIyb(KY_Qp+%V* zQveMnj-8hhZYE#if`JafcfD9b+t)WVJ5wY6ly&jgvGX|4HcU>(IRx^hl7HF+-|Tv9 zeVbrnOEUm{aQ#I%GQddY{xjtp1u{)>+#s6& zGRHrE#Ju)>{(yO{dsZj<3ftIA;Ozb2-$JPXpeAR;HZe5h4DxStSv{~J0RAo90eb}D z-$vCA$5sJ!&4+S3)G=N2nH2paP@l_0|M2;l6#X*{ivEc~(LckW=pQ|9;S~L&n(!kN z{S$+te}+NPKQSo!N6la^d2{UM8?~7B4#Lgj^cdz89{d4)^s4|JIuJqb9$Od?Ic{N2 zA$U6j4G)lrAWQBPITgqkh5%M4lhbU&N!FKm?r^5KiX>p#6)OloNTug1oH2RfnjGIn5z+U)ncxS%vErWR#TWO2Z;j;-fQLEftM&>K;eBB^$Ng) zJ{Agfm_vIk_-=EU=sl8yQ-%=EU+ORG2DFWgmNVq-fwqw`U?7~oByS76z+eW1^JnG# zg7yR^P>;viemHLc;XEW!DZp))$om5yGY1aY9imJ>AdDhMKp%v> zQ4mH=m^eR@as=p%fFyDR=+=kPVmf3AMkg?!=Hs6&_+kMbw1sC2B1d5FV&i>jpSA6~ zUJ%enhMSoKEucGaiE;D=#QG01HO`*0wv{bC_VEo32seA@OMq`EjwN{fj+eKeEg*f| z0PAz9HgFL|0y`pN{`S=Z<_)4MP)JpQtEdW;Q0?F@6$)Mxi%Tr39dxC}|4!5_a2+hm z711UKu(R+19WeNS4j7z5n+*>Wiw+oEOa}}u2TS9x=o1+Kr@zMM&A_=TrIlwJzsL96 zyxH{E%Cn8zCIa=;&%aIw3a)>-kFVJ9#RspL2k!l3{D%#Zn~T7KO;FnTi@t36@7yNH z660)vbf!&EQ{E=1CT|l|lcNDOd9gqZUuML#2_BWV2^v$4fZ7BZ2HFG}2DJ$?3_6u3 zoq7cj$D1^@3C@+b2^ts6+XU6*ZGvIx@-{&=d7EHZI=Oy?{Aw&&n_yUa3>YZFn>4iv zhRWLnO-kf#f}!#@L6Z_n8=!8$6aj!+)X39QB>$F!23vZV;D4SxC~FhMIfP7`Anw4l z35HY6fa(t@OfYSNi~!mtAi%T<;t^zRf>>bM1WgDI{Ceylk}f#wkZBWyDOsB!-UZVp z2orA{JBT*Hqm(T$VX_6`)F#Lj3XW2?z=X*bgj2R4l(Gd!DO+H|WD8~i11zF8!MW5X zs77sq;hAU?3|mBPf^(@&P>tFI!ZH$N< z5i>O1uR(kztKH)xbhkr$pAF1|Hs^{A|g^M1Z>cK4Nk=)HHpWL8Eg!|`TFHu=-=Ar&W^qE_| z6U?&mNYRlLFGI|H8N@WBAlAq9?Oqt+-nW4fSG-5*mu>sv&w`vrkB-vW8;JpdmI8 zdew|9G0F@)&C_QemP{A#5q7H`U+j?1Kh0anKFRgMI7!3J6XOJir=-;}d+Ve8W;O6F zdjEUBYfr70pl`5}jg<5*nS0F-kCs|B9oE5A`wN zOA|h+?|V*v8>`}wTk3~?n?t3$>qp+yn>;yEhu=2lkTwSRa z>MpImWx?ThJGL?I#R5xSZ{7QqKj>@~FQ}iKpi`b-tNdJ~BDn08E!Z_@VCVrXOuFnp z-ayHzO1OFbM9z^B5Gj4OA$PdplRKr^zZAsH_k}QLSJGC$agHN7{7%``QgSYkp@El=$Jmk~&Gl0plu6&|TEf;G8xW}akqfpTXL;oXw8~E0WuK_h(zONno&QsjEH1} zm%`7qfQV&e9v0cRgviB{_A#yB>Ng%wdaJivZXrFXq#tQI;uG^zUjS>HZ{dl`q9#DSp!dk~{EP8y%-QfH}L)F2*;Kjjc*EmP-rp2_0Nh2q%ZkSo55%|)-Kq(;FHF%@9(Wd)V z2kx8c$`(f%6=@U{`-e^ri2gBbqj%M&`-_eP5@bxAw-q=+zNlZMF$=TwiSrKMH*<$b z$VTrW0nwjBPqt)Mss_K$BENr~{Qe5~efHud{xP;i8f$C`1Y9H#U;z+NMp)tR2m<~X z?!dwO5kgo(2%#*B96W;%;t3(J2nk5sfdo1d5>O^2uw;V|K2e`9@*JU(uj z&!37*U^B<&tp2cH$29%`+pB*3VYX5OE}#y`C`?V(^>6P#H2%`>Hu%`ztsV2`_jlvFqVr_m6`e@m6LAg@#AXa0-u9}5Bd=HXG%tBt@FN&NK0)pMtUHxASaB>$0RBZjh>B*>)@z?7n z<~oL*=660cxqL+V=L}-F;CIa}97U7FyWlcixk)ujteyNR1 zCTYRWQgWX#^a)^v1F3Zetbp4LcIyUM5ls3$>nAvPkiPP>7jc@tq(;yIuwo%kJmtPj zsNCsxKycRLl}|?5S2MJUMyH>p*|YqB_dtaU&R@cy*&4= zxg+pkc8<3uJ9v@kD}bHZ_Yg>Gc$?s582ag5fRPY^Lk3o8Rk|M)#KLS-Fc`t#w9b)*HzEqR}pLGv49)^ zgYa1Ut1mrb9_!}ToVAQnUYxz`u^e+RUBzP+0w=heF9!lx7zIP&BbfY(VH#0qhRpbRy zO8g6=0Xv$RmSYvBUO_k(!f%~6izl}JgC~AVpZqyIaWBg(s~2S)Gzn*{A)N6VIAfJ2 zWgH%_q>RH|0wl)(NEXQBSdqt*QZIql296Pzr|+isS$f~}zL_*k(=jq>AnBk_Ne4Ko z*%*77fuut*B^}_T4#P=N(xGn&k`5u1bdbzujl`HkLp%s$Dh6KvimtLshbh;1JUxW$ zs$!mA!yKu=$gOry&7PW$wKR^_9IfeHOQUl!@++q)zrsC?5kx~W4EYtMTFS3jg&@BY z#N=1}YLH*ar2Gos0AnEyJ$;O?^}beZKq&jCBhudj-jAJW=+=UG`M0NQvvB;kcsY>* z?GG1@|IR$Y%sd8W(&Y`*`7stgD6)-a>*z}-9hI*4beml3@mvbj5cs0ElTd|oIitw= zR)B7TdU?%6OUJO3N_QRB52jCwH^${HAdzi{Ui_fLigE%c{>6g8(g9AwWdbN|O9;@- z)+w*K0(_BDD;J4>{LbayS#SwxnN3m>Y<~L2U4CcgzaAt$oAtIwd%KdQxD{{icFW(K zvz_A}z5jZ&w||VekxyFw=1h^(3EZgUB=q;gFX73}0NtVy_{{;ErCd3n!@6&X-xFXR ziEK+b`5&C-m24-cWK2jZvh^>h*1li06>wlOK*DjL1EUujfnko`P0K@(Qa~=?5K;=r z4Ctm$Oqv77kDP#Nv426+;+FeWX;^%WMfiOiESC8foP_2DXv!B)0tp~RF$UV-L-wuH zRc9lq%&-^^up5;b4kFzkS#0K*YaI}MCX{jyS(JOQr*uQi-@fM1T)Kg32TW>VIeGF} z^5k17weXr!3$;|G5K#`I54n8%bCiSl7J@_0MxPl@c))`2Ko%{Q{Y;At9=JnRj*^ux z037_qLyE;aGCCLay;3()ez_B9wEKg3O8|>r(h-#oL!=|B=u+u`DMM8e^}!cDc*8jw z*qgmao1JXa`@q^?s}j;vv(ihwtXP9FrZHnUYdC8b4b&ud)lf}B^|V6>#%UU;NgQEn z5=ynGNu)D1i6GP@44ImQL#9(YMkWo#bc{@lbpB1AVPj4r?;u@3-IP(7euM>t+e%WE z7H?%}tDwA1z9f4`W9!box~Zp@-W@+0O+O!H`aM@aS}{FII$U4XLaI~4%W4cvIkx>) zKJSHeSg|xIP&#(;14*c~nzwgK;K9OLeyNqwPI8B)fNrG+Qd-NqJHs zUuxX9nEl6aS z4X5esygo&|M}cSd6wH3vC^ibLwuo*_kX8q>C6c0)=Vu#4+m}7{Q8hEr=@s88Kd(r_np4gy2l<%Dbqtx#a9xE0oec#U z&`=JPh<;dBUjr#_*fHs<#;yCL+@Ud3#4!1)7!S4FNXnWMwG9efzvDbHY(`Q)UCm0(uc$Vzxrfr}Yk#&4-f`rfN&eSAP_u|RWUJDy;I z<4Gu-OB3iU$UJ>cEm{GruZZOd*68ns;f~u6H*$x*m{leEp?lvuV44&28)B|tn7s{l zlm|K`V&!XEnQ&Ob9eQJ?Q1rw1y^6uq4*~Pv#GJt}KPBc=V%B?lv!_VnX5ek71y#a) z&x3rYm1}KadB%(vbp!hK>kp}Gsr9TmxA)wJmWDPy>4l7F*Mn6l&jOv6ik&J_W|Z(= z^!rRrdL(fB*9|d^H+S9T6^>LfkxbD`J5i-2?9%BdJHtrhbYrC3^l1hBTBR-#((|ha zz2vYTOXE&Ua*ls{LU_n!_Kp%>dB0C0q;adepO%P@4?ZDObe+Augjdl|Awqg{b>r&g z3)Y-TvOTzY;@O|S2pgMKaN+h<|E#6QGWwTpFkc~GWa*s!*&%G~>#_^CxdB-ZV>0@S zwwSNrFIe*`$M&Fnv2ly}4amIfC2x!Q&~;&B-|@04rR>71D*@h9VlvJbZ83lSWI@vL z9NR}5bu?Ypg*7eSDZ4Nqvkf|$UOBct5Xs+SJ|ZS#H1y<4+jKNDu#~$Xsb-7$DJ;bY zco##Cxo??}IS>ju)S&3zA-KF}H?xY=HNpvJ3Zc&n-Hd(J(Aq8V7ULTg>0} za;bmVsz^ukcfKfxt%`-nJ6<*$WNb_~@)r@MV7J#D8vuwK--_<`<(iaN3C;^M`jroF$W@xXGi z%i@kS9;8M7V7YmFiNb?+5m}Mu9J>=VCb>L#6uIE*fD@CZU0m(;dhMcbyxRMH{xD>U z--XpO>e`61N0@?lZA8a$wkb3vYScN~nzj9>_;osGt3a2(ViL|7P{rMp7_=cVXnkVP zxf}sJQP?vD=|CcSjuOlPd0~i9tOR zgSsaMbxjlv86;SjY7{sz9Bs(v_`J;-+%f zEsi6s4czD38Etd1?t;Wx^7b`*{X7PYaFMrlKWFakat4Rj|o9X5=7Gn3QC<-?mDYPIIFlj z$8nxla(5>L?Mw*To)F}gAgUT5h;&kMcT%x)Qkm-%$9Yo8U7rxNE+J@bLXcg8D0qNi z%@&opTU6AxsC3;D$H}hbE=ve9PY7C?5VRygv}k}peX~l}%_=3ERPJty4osMwN(-D()NOILVbC@JII7HbR8ezO>FVfOxAyTAzj5bmJJ6+NlRGZs zwx*2eJZ|E-J39<>qcLTuo@=X)({zVn&$S!A@v5UKLv`?rTa77r9sE=t=1-w1LtPso zc!Vi<*I*7dF(nG-n!APjal^FeQQHmMt?l}aam`vx8A`z~cr~WrDfqR2`1ur?GSszG zFCSqF-nCN-<7TDMl&Fs9Ms1@hLv1IU+lWVoo4LiNwRRnXrQJ1i*dtWcgv);Jm{xRG zbHA?X`e`*+j&uu7>An0@R@AGVFE{S#J2Ox{evoikC5dS5zdPWYPmk*SGDyv7_cW98 z?z>Ju8Qf{%731!~8xsCKv*7+$5LgL;JA)#eew=0^(Aaf4_uEbj<1@MkZ%gPmv-bX& z{UrlzK7F8*27wR=%-{9$@{AtAFBXj5|AS7}ph@M+z}Q8MabP?KV=Wjrh%sLOps58n zvD|f6=KhNX9*C~CP-OFu- z9)$s$J^RNVZwTHRHXx)EXEoO*cWdYHG)5$EnqB?20*|bKt)BgPmJPw1!v=*VU#VX&a=XASaIn}e=Mh*_y%P{&(x6>d-*x-;((Ihc&x}CO8)hx%6 zLqhgO54HN-X~cB9$;1d764L1cF}|2?Hq}j|ig9RY0i2aR^<5(C5w&>R<#* z&mi*vX<6Wus%Bh z>(7bhN~}S|N<4HUN38mo6MIA4IK5iJrZ{7R}XWjS4Dhe{>S)Wvn3_0rp8OlL;d^sec1nb9Gnv%cbyfy1Wg zKc0%APh;E8noo)i(!D}P8fbZ14vN>`cDQCpagTK6knsi%M{-Hq|sZ6RJN$rX_laqtfOdum+Z@=|y?J>bV?UK9OSkD|Y)VE*Sz3tYWi1k_W_cqp3Nh(bybpldgF;c0J zViZ3k#i=sI{iJw8rZ}@X^K08Dk4RnHD|tj3T~cYvP-!22p^z6~<}KZ1ZB}sH+{K|T z;_QDX*8zx(8cr-rZJeVgD$4Un8sr209{NQFy&#o9=cCV{JM;P zV0{BqN9bbO57PupH$WHDQJ5xSx)HihOkyXFf3Pma@S^f2S3j=3we%T$Y9DR!sSrIzu=2!s~YVNsU{aFZLK@RS{8-rYLNU9bjqSZh~I0jSBO6LjHPO{^~D(^<`f5_nFR9NPqsI=k`s`7uyel zssdQuh}Fm@ZwU94A%%OY*BfA&EFt$Kg?nlU?8)gQg%5i|LLvwmlh8{NY9vQTLX{Aj zErHNI5)vBit1~UpvkEzQBk~F@*JF7E*?5U%UomV%la1F+H+n=uA_!TN(5wGZLITc# zI@dHi71>A9iYH~OSoV;r(r23R{6W3c(Rr*CEKP+8JvrkPRQ8#wEBtUHa)1IBdu@ly z?sm=5dFZ5lrY^*uMeGs8?hW?EZqFvfnRi-`-*N|NXSGw=7bD^ctep0V8jcp${vx~B zmxzAp1mEMw_?|7E7)NOI^u#!V;aM)_vY!qpm+If(*KrixLONpXVMgze-XTYs0Uzf{ zK5m=mg&i1&X~4&IVSJp?kxs4qi|RKux{J2o%xD9;fSM|!F#QM%7E_};YFo^Vo<$c> zQ)LvUA7LS9YIG0noSD&vbOAM0Mq&C97B-#$u414Ta8>HP9Wtn;L{O_WfDDR&ZNW0w zHkDu-AvwUdX3Vz$IHRmHC;woGttLXNphYt)IqYC-Fs}Rbr#n-us@Yy9&zY zUWkiPPpis}nwjJh+e`DUjPABe>T_QN*la!I6kISR_keeu^GNfzGWw;TsfbU|Nvj$t zfW0^+O+n>?3vq8_j1Dn-?(&EB=#H!Oqpy#Lv@&e>z?1CNR(GA@+nYN$xhvn(dXK|j zxom?+yMRY~j7PJ_qm9F(`Ss=o;n7m@Xsuk{0_|96KZW)>Xve^~1&p7q=urmaty|92 z-R|o1v?u3MyZp#k01({YvrsK0lXKTh2H9Ws}`}u=D z+pACdz=dlnz*l#fIw|gPJI|h+B?=)oB6|?49az4E8eWhy7s8qMkOB}eE>hU!@t=`1 zC)BWlgi1(A3?U!#_*EoCs3DPr8Xzb) z$2YR1!e?{Lr()v7wyJJ^idZ@r5y zptj2>Oh3ZH2MB;$5?>phc=U;{Veq42bOCijMq&C97Bo*hYVWHV{AdVWK%J0Ln0|x> z`xB2k`Pv6R8bKFOCu9_+AACU)GbZVUUVz!9BFpD44yM5c@yp@Rw+uJW%{gkb^{oss z=egXAH)y>AV0fE9|JCD1j_L;^iXvh)<>Ua@Fb{<4CO@)S`5x6MPr2}26!*O{*mkhexpi4Ae zPU2ED@+2U@aPs$^;qT1}0*oUF(2-aY`16D0^oz-#H#SA^OqkyYf4+;HemMz|(+?-1 z8WQ@|>DNPOC`Bp+16}qA{upYIL<3xWvw4GG(E~}`3u|!_LAS-Qq#8Mf z!i+N&$uRC`gaAJfkvyrpBI!WS)_Q?ZSORu2gymB(U<^Z}VDLv6o{Jm&rOOt0w6hh4 z#dtIz596zNG~^$CME+qe@(-b{T8^e_MOImbo$^$!9Wcn2cKIGORhr7Re%e#O8MvK6 zCJO$lY3tgWd|x+ETN)>4y7Q5Q<|X<(hQrNdU9S9+k@DK#8#v1 zLtn~1bf@eC6)nyp``}Q^=JU#X)>W$~m+q2Xax&|7y{l3_V9--3OL|r3iS+PZKo-?T z{cbc2XsGLB7|=kqVh~j;Y6jVMz!*vc)e1Br7*G>JkJeSXKSsda>^=U8#Q*O^;v+t0 zUFJqJkMX807;wz%wYrsdv!N{hXFDSYr-OBerD+%SXhk2ww( zO~$vuW!J)WlX@1w!C5?;#otq4INbjcxPRm$VnQsQTL2ws0v&h*9n1qdXyx)n#X(l5 zkaDnBXi!5hVp;pdzQr;`Fxvqg0*X^9NnxRI|B#I~($hc&sZ9+G=s~2i#DtSFWMDI! zkO8G1+9Un2h0+hbDgDraSPEbj5(cQJDuM*={RX*rYA!fPT?}^!15gJ-Az^@rB!mV9 zrqsY>9S#x(I6y*Fk6=<0sSx5Vk}^$+O!0!rV^lR+{J)TcU_b)36A};*5;l+m8x#^Y z=tzFP6Z!d$lo|W!_ii?A1?x1)B`dn>0V~nIxtbj47c#v%{`Vs$hTVYG8D$STb_2=6P zTT)eN&U}v(j}&}+1V0)?7f>f;6s8|x0sV-7wym%wRh8z3(~TCRl-B7y>5R>N?kvGsaY3}ZzTqejkPDi3+&)(HbJJqajJ2soK+uD&vw^$AB%F2V5E zZpic_i#TU~|v4jNI1Fr>bN7u1T-2-Zafa_W>3I7=CUEfo6CBd4wjr*5#R z#mRuze^oNz4|})Y{3H93|4{z^kMX7L*4=C_?YH)z3#jcf3e&bfjso&HiqQmRkxsJs(|B5T&Fy{-E}l^n2)*PyU_={V|=BRkSyz-!m99 zl897>@F!v#I3UtNbe0hYZ6Vw(RRh~Sl6Pu%O9z1+Aw=kdXfGoM5s?ZGBhv=LpCtFv zo|mp+5Iu~DRE9W0#58a~q=WcGMi_v2PvH}#DM8Fncxj64=btG)fwz7dMNvG*)sLjv zI!VU`y}6>->n`M@!oZDJ)@-nR9_t{OJ&$WzU!D`2cBE-}{T_jCPi4)C%bv#`x-olR zPb|MUmv-a^v?r{+kpF>}byJ>q4J=x}CuQU1>qWSCwMtaQR@{5?K6TgQH+uhN%a!Ao zJ@?=}?`qZ9!?Zrn;qvvqY+%25@!`0Mv*N%pF{{yC8hSn(q(n_%S>Sy_%772`&R zbfc@d(Vq}W6De@{^N;WD8{gxZ=xn}$b6PAI`o!q+Ok@v6CCUqe9IuMt7==uu5Qpm? zx$VE!^W=8X+SYBVc(QOr+)GV`+7~bVWCAA{fpa{5VlGT{_=e3p91qbB*CcL3U6d?q z#8R<%_G>8RNJXN9uMC~joTMpr$_-F=kOT_GSB-x@i!ajSJLJOJgkKX8D;0`oH(;q{gcR@INh-x#6-cBb z@f>2Q5gtM$4a5`FN%e5oaw)r)WzAEmbQl?xDU^v0X5sM#5>cJ!q<${_boiDX$AhAYm(6;$9=-a4SP++{v$^O$0f+ zvyVyDpVyX2=Q^{*yk3@kDOlYU)SlON+CJAgzWs?_mI8&-yR+vJs}ET7!ggo7&}0a$ zcfmTRJ=SB1HJVsGh}Gfr?vd4OK0CKVZmE%PO6S^<$wj+_Yf8k|zP)h6CM<2i$$;6N zzwi0)0os#nHl@DYoz~@~*X)r8k4rt4zHH>z1=ek^d^OY89=7hLZGlFKj=*+7a>^ddzxw8^BJG5>12b!TmzkVk`) zd)jW98r{KnK>90B>wVffCmyvUmVWdM-vOzR0*jHdffQII1;rCGMSW6Cl_`dhqK!;3 zy*cwrsq?YFGI_VQQaXrsGD083C&bam5{OiWfJ_?*cTE0V+chL`(w* zL^_C$GQt4Fdkc?A1w0!ngJ*Bxv<}JLWq@rc5vf3Kj7%E{e_RCE$jdeRL0Wr%!%exb zuax`xIGL~SCHM8TtP3dcmE6~Nm-+f$a$kQ_?(3VD+ZqaJZGbz4ulInjp9SMX;Oh_L z-idIxz!`s&^I?djE`r84ze5EhLUuEoRF+3m5L7LGin7gV!TvNI7w?o2Wzm@G6K#T zpaa4!A;hACjf`+hh!>)Rd5myNh-%TnDn_^^1aOb23cvv$C_uuiQXq$8EGbaJ`MwIS z%qQ<~J;}0N1q|va0GPRSxyJm8>PN&aTchv%$c15k#xUE1`D(EO{pPwogN0-5$ileo zWTErdU5pChmg73dWd~{pDwZ(LJv&phiLqK3ZBoT*+uwe)+*;tzW%&?jJg4#o;%>;U6m zU<`A%Dmb_klWv%NiPa3O9^3_nA{bM_PMmmJ1*1P0 zYr(idjD2+v_Bz*Z9a#0eXzRcB2Nn$;>~?(LelSMofpGwg;b8m(#)drB>%spIlMqaT zv6|?PRShsMfRRTG4=}z2sNP-)>6>0hN z)=N$`_!T<%^Bg6&8}=2d`m)zcerf1j)GfKMuhs;s_1tH!p$&7Zdl#wSH}yA?*jG86 zWGjnvUh+ps$2G*H@eWGtYaG1TevM$wmW~s~+~FA#i==e&`GciBg-)rwU6KJ+0#9~l zvCd2WG-=NUr$l1a2u`r~H9`t3lA1wMCuCAkY>+9|KoL@mq7aIZB1PD0#{BL^r7ELT zy=l@<#31l>heXtX7%U@FK|rR4k!cIzJ9@*VpNoxajM6~-*vJsGh^PW*7A;j7-H{PB zAl_T}`^GU}_B_b%1WS1<<_#U3@3BC4WE| zgz`68?MwO|>}0UZCxShT*u~H_4S;SGncM>19O&9U9ktTjsjE*`!1Pm_!#taxhHVZ@ z#p)&q2SE7k)3sRj%L=#-Q|BPu%oMs6SapSPAcWsO{m$IU{im#eAuzQc!p%&fn~2p7 z5cY@g+o#goo5LEFvjeIemO0(!IX)fLEMvpL(gjx_z3jzR<0uGbUoQV~4V1=4=@j(O z4rp4=)m_MURJ?OO#wfEcXU6$gWlFVAUwdk}h-R`lQ-&q6FB)aOpy^G)Y8~VAuf$3` z)w20_&X51P(e3=0;YqpEDn-BC|53xG+bu!SBnV9T{HTVD;w-GpSa|1r-Pa}`fTcv{ zXTf~TLX-22rmC}8&y`N(3Fn%Qeh_qpEjKEYs}0xOAFTZna>SYcpwQv+)+ zv4V+p8mxK5@+Q_PVugd{L9A26iXc`5*&@~@Vnq=vl5DAib(>h{iFJl-5i5&Wmxy(i zY^ihaY^cq1cR0T+{&Jq5hN)Im{fMLoEnyESi9I{mEXs1(;o7HJo}`&5T(?HwJF>6o zN>dxRf|6Uk&G`04xKSZ)9%*W7g1f~AW1*n;Q4LcE&gqp`wz2TxJrLmu zqb$E!2+>X+B)Sx$?A4%-5fy)nl*aaflHg}jI!sD_8l<#}l)ivc={3C&XWf4ZpVjSq zQsl)~-4JNx#@6QsPDpn06-?kea$hu_XqZ;rp{VnHMgKr;JzKZD#+wZW)z4KIO;-H` zUq9SXqd4lgkz^t}t#MX$-}_b**v}gctH&qvC$L{M9;{YO*3*_gYur_>cppAroALR- zz~>(=B%jZj5ZIbOupjDgW;1_{tBfSq^cp%y^A9z8>0u&S4`Aa_$N-z`1Z;d6V53|F zU}M7o8&!Y2MH|4HUmAAOTTG_6XywRFb3NIxx4K7>@_l@&+VrWqCg4-uRY;$zDo~VL zIzH6{)oHw063r@yAa*yg#Y_GWX`hCeRNfwmW{tyPwnrma)1`fcF^MEqBa_M}DWOcN z3Q~+Bq#7W_C5gu1E3g#&Q20K%a@_EG(u

`XLO!sfBUqU+Y|DempZ}ILw-P3KzZr8ayatMVFfo1 zr=~Pb-YtK@bwXd^);E=#mtQj9X@=?lrGMY!{kG*lt?1K&f5Z7N?o%uNPTxB|F_>%7 z{m%L9rI~f^gUuw7H-iW6Tlq*`!%fd(!JYG_OB>xT_#autIae=UIdOQB<+s298{qA( z=hba202bIo{u$2Yd|x<|S7P`c7xFr}mS7!&Q+oB3SeuEpjHHMaPb_<4nUmBKumXs+ zidaiYidZaSEhm;~6YC&Y(#2*A$??hb&i-o3qRIL#VmU(3^4A;wO29EtO(8n4JbCwa4$l%@5WAK={AT5*EQtV?aLP($Z!p7_<;%d6@3x# zuV(^&0}A->BjDFol?=XBJuS7f^d}>!XI?{oV0GVQD{c7vJ#hYfZFUBH{`mX+3DVTY z8Swdf6Qs{vgBqq+cP#35zpp<>+sc-k=X$Hbz4}gTBIb|#2Xt1O#I>!8nA;$(ZB@kF z7IAH>BIfswYn#DnZ;hDotxQi$Lav1CZ(MP>@b-}8gR^}7+_lH|wq2)@{$y#$m7n!D z8Xqn^#Vja$Xpiq>yH2Ko1(}ASOalut4VZ$4%oJ(B6f|U}paE0Rkeh`8$Nrypz9VYPy?#elX`MeU7y&3Twoh&RN_}ss+RvvG2AjR^ z>cLMrh4cWNjjCao3`_XPvBZ}FGAyxd5@89r?C}H}IwJaXVUx?Y0xO0v0!6VdPQ+SH zQp94sxC61s*T)b>2qmf2#4;l(V(lT86|o35)GcmetpJO?cuA&{$0)Pc=@hVEM8M9W zfZc^+_&j1=21_f7iQ)g|EFgs3Wds7Q5(sc25Ku)>qKu$KDM5)kf)ZNiNbnmHybeL* z1Y|r2A;c`jBIjpXTtSP8WW|fDs1cM{j$dfXUbcRv>!&rp2o$fRjO6L%>jpMTJYDr1 z-x=FJ*Bf@c17U_iFLz1(*e{Vl2yEQ=Pee`ij(;NRR+doy0fcQ@6_Fxkkb;zfM8diC zMpodzUH$J92Ryz1%niK5S4%JTXfC7h-&)exiGP@f_*JWZ)A*YIQ~#Xte%tV0&1eta zHWmEUKmV|H!muREm4lg=72nbe`{+`pcCcrbcy0XkV7H5K?t12&bEo-dOqXUFWvOeF z^eye(r*>CuR}W$QHi#{w6vCP^IAh96$6urDIg-}!J@CA*$r;BHi=1&Ju_(>W_-7`^ zzJ^##+Wi7aQ6^rUSWI&M9I+^0UrH%_E-4br0a6W|yY9kuqk#@6^}t|=iv$=LSn+qy z7Z50V<2_QePmbP{9K9flat4;<%j3zHv&ffA2oZFow16^`79gh|^_AJ{UgYC7iNA*U zb;Q>?Phemr8MsRZj?EfA?@rO+(WbIXDHQc4QU-@2lJlL&Mu|cg|)`fN;w2>#d6&4$m2ji76 z4tQhY3gdt2a&C{_s)D`lhwx|#c(fOIv`RdhGafAtkJhT?bjmn9mS-H4$;q4+Sj#gG zYk!|{D3oU$lAAIPC=pQg;>$pJ#z7bU?XSo<=*J`Xag0(E{}d})U99M*+wx*XxU#(J z(3EQsxmJm0REcleax+j!r*cK-WRxo=Fy)F6v?nMPpAC0@b4w? z@3rvnLil%9oN`3#mLHRUFGtNl%|qzsBI`!T8AzGs|Igl=z+;(y|Kp#TMomekC?m->vY`b(mL4eM9f#F28Oz$H;MiT+6Q=aGoI_iU*cFpW@2 zB%&Ta${C2;{+KkvpF06XVP`=}z&)5!#7bIXQ+1+&;yqKa_@C%RU@{A|^uJ0=e>=(@ za4FUoQ8gilk_?$ll7VSVV5$l61l$SWE%`&s)R;m7)01$E_*MLP8{HWgD7 zVj|OoxRaU?HJBzutt2!drZ7#2IwR4am%{YtNfe_$&x`5LD|GyjPVm3AU;DL%_1ina z_o*JtcJ&Bg(kA(QL%FHGAKz`6Z;e*O>r5-6_In#Vzi9K}>%EPy?eO@_&4;hM|AHGx zUMF=w3)?phcTMXqb!U-ux=YX9!WRu}yTq_@89zyM3>w>LAsv6Lss zaKv^m#P&qQ_T>ou5eWTR8?`d9v|oYHKjPn`Mr_a8gcrMp7t50xp-|!KwFmEg3-684 zAMruz-xe%4$sguQ|BKGy-Ndr~fSyy-kK%CORTu63yYz1a&yDd$J z+nJ_AY(Tij&;W$#c!X&+3i;INUf)cSJC;Ng@?%KEA<=;*3ue^JZ=zpV?0MR*-!uuHt?+#3} z0EPEFriKtlVVp%_{96j+QWVC~Q+hXTgTay58>I9gWp`4JC8Y<&crEHXyucI^u=Su? zxUY)uR{OR6@EsfW{*G;RZ(q^A!}Hhn!@rZ$q5W{9_)jHmqxkRZCBA{TeH*n`r)*dd z&>(8+9b39qtM>i76#l3OoJT+1pCb34cPbF%>hx9@2%e8_eSx49l)x@pfddmeAFgXO z?qUIwfd@0r1Y`Io)j4=HBq}&yD|TQj(I7LqATw+5Xi<2y4^)E^ofErzp5lt?04 zvFFhuKJ$;Hy$y+|#c&ph_7G|jiKxXelUfX!%?gYN`xmM$J-gQBE(Up^<^(3Iu#$KI zlW6$gX)y$i@*r-YMcm*5^%vw>P>$dlh5xM-{+lUBARrPU$%KEVsSq89(=uD%WN^Q6 z`$zT}-rCk;C`z>awC#ys7tH^6;==`apZgwS?G=t{E`Ev0bn)agO`0G%O{ykfm`U@egGI;)R3RfEE#K;lz@VkA z&Ikmjv_2#7bL%q#9T4AL5#M!Tatg!)cd>rCQA-1cGAm{;p^SKu2L#H1!;w zzZjx)ZmC~Ah73^0p#^PPj6tNf zr~Qg+C|f`&{1{r@GhBcg4lSs0kTM4Lv|VuxB@1ZFK@8;y7%D)80t?#3$RrF-pABKt zZbd39*i(7nJY^hc2V@K}0XbqFlrONL#yrX%*c1Iw{o~&M2GCKJn5%_&^YfeN>s=6D zR_zW^EQu~a#3RwS9uUQo=;EfkX_?1VVs7AK%_ZnpszBe9^mj-U4$&DB(ZK{w?RuIz zj{DAOlW0G$san{pp{7WHl7C@jz76}C^KHRi-uC)-<dM+xANST6TeRVSX>6BF+w?0kcB!443axjH*iB&DzV~@Z7hL=tN`j4V}rt zQPs%@Skw6%3L)yzRD4HgfDotyVw4P_?ub#l2}OoL-5?Yh!dIcMjMxyq-r;@%U$W2= z2iG*op};GYs8ZX{a^XupxBNl0tr4Q}LWyd%T`ZuUi%~ZSRV_vp0>u~tRRt7dh~jXg z+zqkeelmQk`!1q`jYsdWCkp#jtLF5o1UlJW)?dDG_wCqA622}+V zM1+Fj4YAlIhi6`hlPxRqPE8{P6Z1Z(q8YUdU-JSic_ z)!@7oZN(%X?#7W0(dh+GN~XI3@ixJFqu5gpqfcn(maOG&48DFf-KP`o@HRow$t}7S zf9a3zcyDZ->kFVaz&Aa~6EjWhf{+e^@c+ss*u?5G zDMPS{bg+rYPq-{YazP<^ze>zKe_@<@-}|cJA?$J-fUr`9Q!yGfh{=mhuJ@W_zw;(9 z%MoFDQI)d>ItXXYzUKP?Ifbs>D%#ZyV$@d|HN|Txee1=hUyBBbmw4D z3B?9&u5`9iB&ftw;qQW}yhHT^xJFNWBU#Q#)rC-uVKoeaB18DPp#u~d!q+?8YgXCHh%~Eh`_O<{ zm3W5BFQE9f(dvedu28-@c|U6sU%k+`m#AZt6{;9Q`6`H9`RdPoJBxtAk%WZWMX2Xu z)D1$BAy9=tF@``@0mT^hBEz@2XY2B{Z?L!XwQ*)7&2Y)ga1!L_S9}ga*b2T0s`s}O z!dCFjznu`ahHna!-D<0g+2aC^>hN+DniZUre4MW*Uro1d9Ocj~rBgheT~Pd_M2mky zTj1)uAvnKs1Gkny+_f*I1cqP$>=IA`Ex}1`K@iA6e(hFntvBd`b2@l~ZSz=%W&$~k zu5}f@NB^c1ZN)9RtT*i6)W3NXpH8u--lzZLAsEnfx4e`$?cdbD@g^ICb!}h1NB`!V zMyG=}yu^KMTcU z_r$;ZGw`?fPLh41ANUI=;rxSHb29P=AOX?aqd5oXA6P6gVIA#ww_0hp9IBrqX{1KD|HAnQI@IxNKH>xN5!EkSmybBAa;T?i-?0Hx z9H$&;+~2#ZmtLB#dw`qlZs|c?luY}M3z)KH%7I!&QK;*F!%cRo^q_;VfI@6h!dO7j zVgXmM5W9i}T*0En6)fNi7GhVhAXoo`H*dcuV7(|g=K(v}%}?4^RD3^2)KuLd)Z@vO zTV7!m2zT;!)`NvTVOUriSeQG*!tx_o>B2ocEpGmmd~2|<>kJE1%4S)M;sxy*l%7<) zH;L3o)UC?4v#49OZ7&)ys}j#}`2`eUhd0FR5Y2ylnL;r;#14!P1E2U658PBUMpvVRkY{4k1I&sIviAmZ6L6#idxG)$!9+VoJIqD$<&y;# z%S~8IkexV#?1Tr>5(o4ItB3WyfBsSkd$8+k6_ADq^hL&?yg~hvNTKV@LF2<5?sUkuh5+akC8TtKjdpc|>m#QX=BRXl}-&Njt zBR}!x+fluOsvc*k#KEPi$2AgB)uWU|LK6K>B2+!_@3kO2vd5uiM=4P;gt8KQD3P%Q zi3&MNR2Y)TlSIoP`bsTcF`+LC6O&BoSC7$8(3n+>|uJ{Pj9&lX+1;5_5hP%U#j%>N6Q z^%)AvAPAnQ&fG)sW*Le%;dsI_(9+eSW{9J^G3dfdyE~2|fa}0hiLUdp@(~*IEh9-WBf$|xN*oujK#()TM zx+8v-INhPjsKFBGgeMC+B$`K5g3gCtLwuu%s04nq0LgrS=zu4tjIotKbUgGL;u}n@ zBZ5G$svt~r1#Qr=gP z(VIkfNklytF%Wg!G^MHug$|Lhm)6T(H;eC!1iI^g*LA0rH><+oNyQZ%YgP(sBQCr) zXtOZN_PwIBPDkK&<7?*PRhH)iayHMgnXeUV^3Sm3{|sfLRxJ7R`wLeW=1&r?#xF(C z442Fd=W2X@#b+oRwPwlxC1~S2@9~fDNm0IZNu7>Pz$|%mIJ~u=;!kuUV0fKt-e0y% zP~IY7^yfi_O^-blhSPzb{<{%x1_u3>xef}jta$9Ta{xU^Va6--T;%95c4XtKDo zIFq_Jm#kYsheY=6MopYJ5Hk5u*KT!Z>~IXEwZ$S6_8jJnNQgX0w2(xz2=x%8BJ&_f z#dca&Q`4q^f;gS%5Ji-snlcO2U2%qD;RXUx<0R8vNe4Pa5oKV~57b>Tm_T$4G?Sum zB2RRl19L<)lgFT~8%oQNVcGhXKzta1xO{7ARzG4B9$*s|l(1+Zf}uyELnNYvg#&UJ z@@SB#>GkqD&+SR_(FWAVH}grk}q~Neu+Z2S>UUbX4`r;5xK0j z`3Rf)846q8+ot(Pt>g&$2j1EC`6|D`G=>f_vwaElM);1#ljMTitU10#H_9OP)I4-7 ze4rX+WDT+#QQ#-@PtuPND+hsV8u<0;O1L!pcDpM&|5{e7iR*Ax$ln5FGeOm5}4ueLmHES?EzWOYi-X(n}2i*$k+P$U$lb$BlUCFFW#p4Ml0xs zR&2`o1cLZ3_pRBK^9cm;UGD#KQ_d$4MC=TDtNS96^Aua`(}=yBqOj#pJ2L*1L7+_= z0}i!1M)P8%#rrY@Lal1-|9Efp!T?eGt-C$m2>XNp(ijhsv6Le<0wLe<-*<^3MEWJI zjE!YdBM|xxKjHG+eUu#zw*-6~20{BY3~?C5h;DTbI1J+TDnv_HCGCu$Dnv`uWqeE1 zr7ENT@>K}@Qg#fT|G*?6=#(g?nc|&UdpzL3Y9A;n2Hw=-z@Zk07!(mysp}z!M9m~( zlZd(=6sXkD0i}khy`V^R(T(a3x1i@zDZ+z9{Yi9>L?}h16`=H>o8s1zKUlA0nWxh? zUu`OG*o$31!i3-mqyQ9-!oJ477qC*K$M9MJiYw8i4$38p2%cQB(yil2^$ zWPY1kh!AW+O^-RW45xFSxKu27NOb@@9a4@e3d~+gYIs>nmDV#Ugr zQnBwp!QoZD;LwHErU(XDB8b29^oBpm0)&Wbb$-ARlm%#G_zuC7WMpP2a8`1p>cCH$ zy|(B&{ex-?Jl0V>5-JvUpfaCyc?+(PBv@7^We0X(@d=l)lq7gU?FJsrJoF~U-0>G) zrq)I5k60=F##YRh-o(_F-o)W8t&0!Dt&7Fs|IAj*A-Fx$;Yf!;WD;@sdYZ#~Pjd*> z?0;XC(gO1+Ezq6P0=FrXKpl$SBvK~PeTdrNXeXs@ITk+!mm$9Ul+GCilXvMsKYUzwh=}$+X&^jILaZCIm#g(M>%-b z(@_o=u3#IXA+wE;^$bTjOk$35(0YPxgr}Hogsipf_Z}ayk3a7QTaQ2Q4tpmJnB5T1 zaQOukAG!nZZ|XK|MLQr)xA^EoD&FCqZOG5L!QR8qxkJMZx@2Z|zJ%g)@I9Pv@mFVH zytBLIODO)44jLh{1-B9Sl~}IG%(rgylAy!S1<_Y%A}PIY?pLF%ukL%zye{1=xF z5UxM$bV$=yo(_3bMY^SLu;pAxZt;Dd+jHJc8w6xJ8d9+VM?+>aM?*fv(U4Q=Xh^P6 zwzQZy@PG3~#vzU$%SxrQ1h{mT0FH+InK>F#?g@^Dv|)~hbmwW6<1B$^%vl0B8ZweO z8uGf}gO3S%S5>zaYhWA!`OybOzN@PHnGcG5YgP9%9~60Diu#lQ`Mzl#Wo_EJYqZhx zn$SD(rvuCVrl=bS$PY~G*u|#pZW6onP8@$=`F;isF@xSdkJ}q9MdWz9t#RM1Bn9D%{S8lk@P3JcSq7N+Q_G3$T?9U@QNq z8iZm#2*r62ipY{vFN)l*96irc~ zy$#f9=q>Iv+}F}+c&McjabZg%;!#G8+QXOJ&2aNPej?**AHs+9A>6#(%FPU$pZ=qL z2wxA2Y&nMVUFS}|<21+5ybgb(5m5VsS>UHx{6BVBq=#tolbn824?TN)a9)T1d^c4k zm?gJ%^3q2-zQOT}`F%rYRS&T&={@n3%(->S9v%98{#~Ayoki}Av+l5e7Iv+^u#2U~ zAN<_1m#9P2tQ+j!B-+o~$sb$@6hsWF3MhyO1;ZO+!~JAfC^o!9hE-z2=WlnYW~ouqS12*T>5mM!fN)wwBe_wxtl z)vW}hVjc0wuixuWm_HteHT_@x$Y%V<D{B2hAOD!Ee(~Vfj1aKDGfO^+@~Ri zhBGvH)8IkFRvK2)Fpq|5G-%T>m<9zJBx&F&V<@G8nK3fbHbr@MwY9CmQ`y|~RCFze;Q6^z}K<)CWPfA%w&X?By=GmelnB!m+n7p-^%ce zesmQz8+O=T3CKQz=#db=nF--C5*~%{0Z-Sx#?4UYny7aJ|7JTuwb0{vvYH1+EsT9p zn9wX)Y8%E572axAD78InY0eIDUL;6p)~l&?^ad^p;V9L`qE)(LSo7X04qQrD(bI!q@-_%&NbHLhVca z#L4T;Ax+78TX^hUwM|Maq4!e$ZI;O4A?qP)hoD$^|Foz=R5!m~rz-!&g1FTpesFTK z-0D)+?PlNRWYKS;<~gDnah(nbMf_wDPe)WNYEtT4Qk)r4>9{nwsjmMRrH3}oW4}+H zywS_@LVQi?i5Hn>m5zO(>NG~_CRE=hPhRU~srGwKs`rb`nhHmunl?Mnx%jlEAx~%| zy4L+;i@A$;|ll zxSUNV+Zu_u&kh_5Vl`9^G)OPC0*9Y~H5lfhGA)V>oHG72|rYvuSov+ILw) z5VLRcTrXkn?b9lWjofFQk1TftTwgtow`pmh{BUCC={HbH!LWBOz$?@T6T#%WR(rjoMUItgP5GZryp0W;<@V-_<$w4T1` zVft;{BK6l77!NR`$*(V(aZ_eY^`Q9yW;9{O&diwV&dA+gba^?>=`3z^%KAJ;A8Rhg zRs&#+}UQ!i-MVYnn={YA?~VpPEC@o7;-W9D}*<`)JzG{~UkRp_#%HQwOt>0z7rB((d`H+Y}`qkE|{> znEOhdeLOM^TKoRzBGqjIeWngBH<)Wo4^*#6GXn-g0VB~ts zgEL!{b0D#sI`@4ac9|+1)j6^QyGd-*b6H^GaMho?LeFKkiQf#_DP8SmDRWfKWnaol z4A*nfH*q-N&+V?~GSS4(SoV8ayUYO`RU_FD8HvJ)E}A9|HvZgu6J3Uy_)U|&)5UI9 zKaQ%ttaTTOgA-kPn>bAH=Wdzk(!<1WlI*U|cA337s(P{mJ4^gL(WR4#gSnD!tc-fcI64kmc&BhK@r?}a=F15yfV`RUVw#!uHsA|iGbdvDbb$Maz zaQ76~UDxHQv7eUg9Vxq63LI5US!*c?Q(c!dV~10xxTAGl9vJ%#m)+ITF7ro@>M+@X z9VNcib%`@}*nEo1`Pt=)vELBcDUx=xx^YxhWM6iW2>;n7%-F%?6xZu#mjGkGfwJFs zu*;O;s1A?~X)m$(XO|^mu)E@^+(y45)$ht zxXd+nxa7y3JHf@=*iTmWdkMSD_8e6i*^uufdQWhfWbClpkK18_%XniyY1un%>}Iv& zsCJUIZX=O4-etJ4!y-R!^mrE)W4{ivyS}x{{EnmAUUuNO65GbR^fY!D<;Pty-sMMQ zKMC0>-`LIimZSQe?92a13?J{(!Pud*AGiB>m+y@I{v-SSf9zO7%ZA$`2_unYPodlx z-UZ%i{C|0q+NMg&$|vlnmsq*J&6$Eztax?Nw#h;XBYvsycQ!YfC)u+>ZcMq_rpJ~I zRsuU#hGk^{`{@K${03pP&Wj5?GvPKjzC?1PWY4NhL3>uNQl;FOe6>y2EGsv%xzY`# z!d2|2sm}3-1l!v2>{#dV2+a~kb&@?fa%0jj@cIa%byC$f`B_$uVLx5xoa_4{Q?ST6 zK7zk(a+8Enb*bU_Q?AkzxiL{{n^sv?X2fx&%S(k1;+`IGikIPSYgcc_T7XBWlQ1fk?DNjrxt@L4CdJcos2i#R^_kg;sgrP{-WG4f8s#sp1WBX5TD0awWe@!@O_T z$T!TpB{=d;)N{d+YxxJ)-oKVVyduir%CcPBISuo=JqfRfD&q}NSQE+{V#f~TMm=}3 zuNfE9KEk^pE0I^$|G}C(E3JwM@1Zf9eRHoRuSqC-@u2|jwPgC+k>%6C{0)u44e%$k z+#%13{u0WPc=R{@ST1gYzxEN@70llv`(h{h8}Q)IPD;nc;7@Y7L#`G5#h0Du(VyzE zTsvR-lZc4nGJgy0Go9#9?g2MCnf|tASu`+zL&?MIPI8ww%=%BA+BdZ#(f;*9ZDDXp zn{;+h(eZIZe;cQLa=J@?%mN{ zCDOHm9>tzDGac%*Y(;M3=n)d>4ndCuXU)uqI@zqqO&vEwB0V@LPqEx==1`{<90=@Q z31+tlJjH^CgN7U%H)0PrWcup(+EAN~lkMCkgNzJMYloRx0NFj)#HV^&iCOyX1w$VO zD>=oR`#JL^%yu?+{?VWx=k~&jY@3YJ(nfCa=7G+A+nOD3zVxGk9cS{Ap7#SAt=a7@_LH5%q=JsrmF+D&tY9#<^r7O-P_1KLkIrbjo2?yccW#!0Y;fVi74t4| z2Ts2mpAoenH+AHQc4p7EI81&ft7za;nya|S%x>s!=N%k0rf0=x#N+{B*Uqd4fXyAG zgSd8flQ%0%2i4Q3zI2d~K37NwwYA5myL3<|eAf7nJGSC+`M6{5kB8_S3wyj;=h(f+ z=X8#79+&GJ>yR~M{4wRM)#H!pXPp~=Y(-Z2_+#!_Lnb_)FDIE`p0q|P!9015bb@)x zn$8L4scU2s%+uC%O)yViBbQ*Fu|__@{NWmfgj*wJ@_w{RP{-|U z+OVV@TDOi@zEW`Jl6PlXfoA#ju+qGMyCb-Z z!+R6K6f3#{tcL;!|l}49GY@x<&(%3Wz5`HUbg~$lP2&Nw zkQhL+0C`9ddqA#|7lKp(;!KchfD{1IwE~b$fZQc7d4SXaa*`mifRxa)5M&D=S>%Nv z4S>WEBo2@&dKQ8>0#ZU=@&Vxil1C6WAWifv1aStWiD$SejKywmBvGkV5c;jK{}|8T z^LGSyZ}hG-|BfYdGVG~sf|)!YpzQ$d1ZY`amy`MhkPd-V*%i`?8<}=y z$>g2PoILJ!lWR?b<%XU})kq4fuJd#XL{0I2krQlAr%ejnqpy9~eqgzIc4(wo$uDW& z1a8-F=h;bltY7UfY1{RsmB)r`{JCUD+SI^9`U5;q8gKczWNIKL=36F|NCe7xE->F> zQX&!xXWh|J&Vnux{&7*irMQ{5f~^?5~+B*|yLYTlAR`>Xn6d8Hk6qW+1B%=7=k}^+D_UI~leBQ_iPYwi zrvwl0_Xg@5!G#te!o{D$+b@;h7Whb4Q(yg+jo53{T*w%|!XLUh3H+tRhz>S?AzAMs0W6 zFiEobSIs2(b0^dvkFvVBG0D0V?}2-4XzNkjQ8QWo+)4H9u~w0eNeg)=;+sdE7Qo`= zubL_HXZ_S4Pq2#Ikz_6DliGds_OTn=dO(pXf6iY$ThB_kp{vv08mVG-py2k?-rGHX zRb7AOPC@Trk8f2wTp9S%{~I}}E7mD`?dAH-KfEz@he!YU8YTV`azn0Ir|K!FX0J^R z^5~$dd?f_7cQuc#I!yy+UNn64rQ2QmW2=H`z|4z=kG(AW|z(?&rtR zo+I~k&6G=clz7AD?3K75F0UCdeaX$bofl&z7lzWWkHjo{J~v)LS`3;-(MF zlO1}cFn|c{Y(|mHwf4Q`ekMmJ=Cl)@W{s$9Z#@I3v6#M*5pec$7}pOKA2NzF+F^|A zSq|omhYJoSX^dhY-AIR=iGCzcOXxxVENsjl=P6WOJ$g^qSyAlhKHBg7%#$!>ZW48= zP`Lra3L3&_;LxDlNHQA2XyDMG+(a@O)K&2?#rYUs(ojMJhlWxb%4jI3fs0|EFPKCt z{*#L7duv zcR{%hJO!3Fz*DaDz1A7ZLhzLNUGiF#D{2u}1KBbsM+*>oITbq^w9c@#yB`G|U?Bwa z5Q4LG^6Ua3SOb9_33Bq=8|4ZSlj~s{1>0!YW|UVDB<_rv+Pk%HIA}V*F1GJqdnB98 z7}NTLuWs>%lmFjS2QXf*a(C`j4sO5jPNd zS7ua#RwxTWAZ`<=37{b&t%AVZE+@B;G!@bn&5+K3G_(|^o&uO&hN*c2Xhj^$fIBjO ztuSWGy6X+k_bNGOx>xYzis*kuEkP+1JV7apiBi}EgHp6%D21Z=mhmOu1h(_+X}-l6 zl%hRDDW)rrJyp9S?U25a^4QSYZE2GFYRa)8wf<=e`nCgOLu-T5yopi_1f>Yka1348 zE=A>+Y%F3PcR*KZKenM*Tu4 zG6ZTop~w&@zd8RA8^YH++_$mT{AKxeYt3CW{IVRE%xo9UKD(m5#x%bA=`UA8 zm7~#^hbPpMio0S{dDn2BMwUYVt=E^@dX-5Xid_`0WmxZeH*aW`HzPb&X2=K)>VrrK zWcpIuV}!H`*D@gFpUmy!m&zH~r_z9#;m2QQ>ewF?(pGgYq*y;zsE=30pAQ*avyCH{|tPbF_xg0)@c65OJbGj0$SzYp#;8i&E8 zErG8utk_!y2fh-Nlz?vFNQ%#%DFfnD6|-z$_x)b(9eRdQATQ2%27S@Xy?j^%f{8Q% zutIQJyBg2bl{Xpbic4L>>h~eru%ur`dGcR=TA#S3A3{829UK!6xdn&Of(Y&IaKxzx zQF#Rzv&YjoiiNBL1LP1}`Z-tlP_c+HI74)*y&Z2BktN(YKQ~ouz>p>YbBRp>fIP=5 zz-aQwjy_G_>l%12Wju0-OyLn85}AU*8SQMjCH>5~ws1>>c?HdAFt4N;4dzueqrtqI zW;BGW;?2NA^h3Zy^h3Zy^h3Zy^h3Zy^h3Zy^h3Zy^h3Zy^lyxjS@1x;;O6^2kcF6i zbcY-g5{oUmEI@9;!*1#(q$$)M^((m9qD1y#v1OM9Wl%ansn%Yt9?H1B*B-;NMVZmB zKo1Vy^Kr5}5swm(hw0!Kp3T|?f<#V*XhGG6shc=;AQ+cGFuVvOCK#_`_j@?Ve<_5> z1Mv=fA`cbd9nAtTjCf)gjbIpEiD5h=5Fel;0Nsl2H>Qp*{E4a5!Xk_~NhUEB9xPUq z1y|Jnnw_Xy{<^pVzCg?8wsb|h%QLrzlHYxmI_fJN)>K|?o*fdYYvYzSJxcZtfWy-V`k0Rn-Dq0UK5)Qcq%};D-;g`Jz!+%_J>)m? zjJN0_t)bimRpF$!hfJx*S4Fu;3U^rK-A2^qXm~*)j z=Tc@kmju0}r>e4{hPvPJZxVmCUOrL1kC%MPgI|_U(opw5-Z`6j3F{XV z)!TWEN`Yv)#s>f6Z4!Z+C`P#u%3q8cPbe}3$`2^U5WZ3#xQGp9$nb6MKL>OCOJW+Y z%D%|c(%Q#lAj*Y_iS#d=sna~`#5EhY7 zDGL#8eVwup8%^T%B;>lzmmQk*%^^h%8ir;~py8u0$1V(SXHf5Vx98BTHvPAzER{Z1 z_RXQO)+GGpZchyo{=QV&i-bTLl5l9&c1C!tYyu;E-F$$7eZtZKhBO%1r_u0{m%=3j zMhRCB*!*%{0eiuUPEN|Joa}!btgF;vvajN;do9s_c(yw(M|2c!vH$4S?7txv+|?f5(jee%s3k7G_FcFaIUv?`bdv3nn~Gp~$_QBrWDbVcPC%qbG;|%;ZZBmD?imNNHcsY2ppQ_G6vA-x zQYF+)V6qro0I7qHGZ6cc85mA6KLpN0a(q!8fn^k8JNaJ2vY(7VtD7slJzJhK22hEH z&2*(?0jyZR0)pg0M?0PpStFV71{BuzjP*m}BtXp~vI0ZP+yl&Q5Wimmz)1jbAT9zx zK1wEZGnNC97dXu&(!u~_832_==$4kbCMO68Mlh0jV7tj6B{1OZy>)Z8JY^z=69ZTl zl9vx0n+?!5mcn3NDUs$(S7qU9IOXR6h%Cf#q5#X5F2GxzB#0hCya+Nw00^fU5c7KS z1rBh}I2XP;JNLgS_~(rp8!kbz(rz$q|*V1@y-I}8S3&M*MvAPzG* zhzWr*!~m3u0U!qfLb<0Ej%%qG(8vn!-Da>hp(YUE6$VSEHG znb|~|eRjoP)?Pl4$(?OQX$PdBYJ=#-3!=ACwaEf+Z>r*5@aRFci4y-`s5TL8{kvWp z)$SWj5~wy|p;6%9Ud}MuI$lpwb?(MgR}ankktP1y#I=cq;gbDhtZ7&n?m@#xUP|`Q zapoQpG*F^XPJaH9eO&R$w2p z0vu!oXo+sB^!-)}g9n?(JVwXB9?uM70|fDqH6Myyj z0*+|85AJf1S?-^_r5{H505FwM$_KmxfR_MpfoqM|3(FC&+5uoz>+o=fh>IBD%K(_l z1^`^5Cji6{Zvmi!2n~5)Xo)#Rd(e}2e}bdnMKouc7ST{nLmdqQ8YB?bO)31FcBMg) zhJG{*!7#jh@!5bai1`8TG*I*p2%{mIhI=$*)4-vjLcO4AoXpAhePs44*lf||bUBInvTIFJDCDnA_4DYWs()o*35EPC z)@c;-*QWYY$S?3WL>j<+E%E{F5BUtuno0v^8Z>PoVuZ)arZPf<`T!CFnYPsE7$I%K2N)1igM@FGZ@ar-XqHF+t?^6Mj+N;hid`5k zXHf4?LdpJHQ%NXsDAt;UKx&W>NG}osX-LBVGq2m{^PC^$^E}jcr)W#)s5)^mz`$u> z4@wJ|`L?&Bv_Qt>gfq#VmMr7Q6l_Vtg57|^{9QyXiu+sVU=d41Knn}@AYukqSPy5Q zTS2irefII@@mTev#&70}=7dNiIC+MAKSH8`Q};4v2_GuGJ(i05$D36U;K}PgPyt5J zw?!cRO3(vkgP`uTVxLih6?^D(tk?}ao3UaSCUTUVHsL<8Sl=I4ruDsf1Y&1U7+69$ zyi+#rbhBJx7BLh9J03MZk^z8N!J9|D2Dr%p zsJW2<;*~o9%!(Zz&;{87KtBdE@Q||{4l^#1 z6u_4iMo9rAQ5brFGz%UQ?T(A_&b*x2$5&8BU=a7eJcu2o}ywdSR`{eh1 zppS8kTKnYpeH8aAXu8&SjPKDM#eg|3=yEc7T0#w$@#A3FqO^n(MFmGtiwjVqs1T>x zJ{c^dDZ1~N7G=gu#C&~fHlUn9Mt=JW+nFqfNVFBiA~&E+O$QOE355M$)4_jf!vBrf zk2iX)je_0?iT(AI*ykd#&!JQRoA?2h0;DLhUx-qG9cBLy5~!Lbv*7uVg3w|}yHX26 z5TxdHFpZ{~Ko(UIs3u?s(?niWBXuBDuuH}`Z}RQbL+6@NJ0XAJXU>sZ7;pI|v0KWj z&WYVpX-HXxOJz zKK^o1xMKet8yXgc`_S;wm)Z-%+w|AAreR_Db{anN@|lwM-5N9;97XG6Y2b^r;DkrW zEri#eT3d_80~M$KCx~lIYsoPL8to_@<&i#n4wV`XArBr%9AkHjz`I4jdnKT-I*pPH z6lY6nKrN6NP;u%3YC%vVP>b%txEW;`u%e$vO$G?C;k72>M#yQt$SyDfDmgHSHcY?c zvd}bS6G%W^2B=@mVbTnU#io}~i$I0r2r&yR`opQ@fULkhQz|u}#4xR;AyTEK5mF2Q zgD@oqfhxukN;n`J0EI6@fdX3^AYoxeRSYN)_ZgRn_hOe!BP0M!10(>TKQLQz79!A} zP%2p9#VnnY{e7LasF|woto48Cb}2s!aS<%j17L z`v5B_qQ=KuP=|-aI-H3*P~&5Fq7FAf9XP}~`Vs3WLOa35c?o98#6_s_(U7DZ;v&R4 z!ikI26Jdd=cY|$}VzEL}J}Z4QzjB=7NFp2jFR-Ozpv?ENQ-4JU{()47g9U;J@+kCVm=*g|Vf_4ON@otF9oE3k^`u_jY z19`1$Gi+^_;wKkFUKLV=mkwQ{hJ;e40I{Z}Az@xiL&76*J7Rd9xFI2nX-Ghd;2bq1 zgr?8VVj2=!1Tn7!zG8vz(V%(Mk9hApxrA$CkT9R-J4163CJDHYw1W_^$?pT zkUI#UQKlpY{00E1$~>Y5C~91$y%IV5nCt^+2`rf2MBIYuNd$n&CBV{>=|zMkm#P_1Fg=LN&QMwc3mytq1Ut(5^60L`;zzoWvL|@`%Bp=Y1m=)J| zOb#qtln?tA%z=aVeSGapY}uQE*#2RCiH^Cg>q}UW$G+)+|J`JX42zkTgvJ7=(UryR zwx_ja_C{zbV{gPMW^crF+8c4WlQMNCV8bOk6S3hEor&$KGr^NO6R_bDor$#J(v&t_ z9$r8jF7;@`r7^SNQp*#2BaEX%(3!9;?Spm!SX{g}=~G+_EM4Vco(KE~)wG-Wyy(ST{pG+++!Twsh1 zrqqCm_tm8hrf9&#`{ES?JDRu*zwBB>U*cvF`VdMO8gQhg4hpF1o*Jw!~?M_fb zB%@pbwIvRs0)-JO`6bkcfS7l9+z(7QqCS%%U<9371nI~bFoKQ{ptfJq(v^64TnF?X zl7Jc!Q1v)W`w$qx1_)5WIIJvgMl@BX1_TuKLmwe!fLcdjOH<-u$`GKCF^Ho4`#+VI z1TyP%X5Fq&>v$Obg%At@y%$IVaA^MojF{HM!_sv^CO{ zwnmy#KcXq+222mg;W27#mjs&EV#uJu9L0yg3>qjk5ST%OIYNJtkp_Z()A7m&$vdo^ z`;VznFF5YoJ{g^fFRT*Obr_Wjf;_e^zVBldmhO8H_0fc=2{f7zv##_VqkyQ74#ihW zR4DEP^PUg0(`@Ydqv`_fN-$*&xW=9%$W4Vs9Tg-VBWsX|tU=gYc0c~Nrvl#C&xuw1 zJt{lIV5uKQZ3zO(5?!kL3kE=SIMHubnkrmdjXc?p}U~2FzTp>e%OYH!zY4@wLim%Y zghbI0#gHhRMCH}RrJFM?a4V;yxO)NJeG~3JYXL+)Bq|}%7Kk!Q6nj+1vc|#@ms*y% zd`O4}AS|3AiXu@Ri9{s&g-{EHjNN`NYclE$Km`NQ6yf@$*mjZr};0FO;F&uCs zzz5y~$ndz1h#hl%dDGQa{1<8y!Ow`CKdw2AXW$*^6qJ}YE`7O;uT4Z`a^##>>g5n=u0Ha00Q*`=p2EL5U2}4iwR^vo(QBxpaB4t6X+y? zWB}SmAY<~>0iekQ8U)Y~34nqKBnyx~fy~Jhfo2hCFg+82&J(CBKnVnzO`aqHvLetB zdL{y0CQvtk3b$EBnA^oi%n7^pG)rZMW#y_P%0oA4PMh)L81F#+jwcgMN3>1Gm#`f$ zPl7!F?A)zH)14&NCvhl=ACdJcSchrC+EW469I2Cu!(Zr(YZMlwNelMHR9H4&y}>)` ztX3tsX&sk}J!P)wjZpJqTMHAKB#YHfRA}VeU^n6IroA;LTU_DE47-=oIkg$uJ$ z{07Dy9bKV(b@DD2ek}62Z!b~DrVss9@mBoGLEcCkDfqxQ2Tn=oLuOFYBn7f=-6 zpx?l#PCmfe%m0GEsJ6QBLw_OuZ?ur8QrpFH;Y&WZ{E2=G{RVryP@-CGKWhSCvJj$g zo8<2N?I&{Y8?(6fbXq^!`uYTgPT3m~ z!oO)Jp}6s>Uz>J{qY=V)Y(Lm3dTq+i?W&6AYmMV4NVJpatNl~fgu9)l*pCn2eo%3L z*)L1m^@He}yPfnQYI9KWFp2tV4S`u0DE%N+DMOrpNpgGe;R-jqc9%K}K$D{Cr=ehxoGqCX6iSh=&J zl35F8YdQTQV7EITRB_>)PTWeppbHmbnNQmbri_tea#&DmS(a#z48?zj55c~Zb0eU#^LhBQgpyfq^-+zl+}Y|TIC z3S)&*%X4?kC9BSKJ-(%v^KZS)hTXU@bLk4##)s}@N-K8dTH+3&Jql+H9{!syAGhDK z3-}D_OT0Cja3j$<)gc0Ym3Qrm^Tv(LCQPi&U4=V$=zdb$W1v|MHH_0cao*C5)B0RT#%XxP3kG?> zDQYZ(jHGm#v2BF6niPs{Pk=R8Gpxa-MmkYPL-drty+%3-tU-fe4L6#OzOeLStrOmCk}C#l z@B(XC>zvB}Cw`o>Uv)(nk!n>%Z;@&>4OMi>%)W>Mzw`8EehupNpC!@b_gNHp;9{Eb zY@2~+HDqUYZ$Eg?4o}wveceTYr!J;VnQhaT5qB6YwbOG_f<%>!!tJrl|2s59bo2S`<=LH9qkM`s z9(gv$J1KkPqgxT%k~)kYTzOX4N^x}Q(>YVE`uTWndK4I;>SI@R)<42MNqO}Bfen+c zYCVWG;qF;)du;3JCkjP*LrHWmb`gmVZ@o^Ufeo%CGT};XfC#7;5WQx|)4OVUn75M# z%#MA^<<{UQ+C_Q88m3=$xEH&G>$AS%@YdTT8q~0tL}pyY4G;nK0wSOuKm^pWHw;BQ z|7(I`y{15Ewy5EveMyXM>As55>1ng_^OW-Kf&y*hz%fb%9ECZa^02J&LM6l@wWfHL5PwF+_cc6L+o1OY&Ca9 zz+*()jN?Z}53o1%pZd1H65l``))ybC)h4_PX_~n`(q#% zT)0;b8tD|J4fpPYrh_fDK+fPH%?-dEy5rey%4UHQy;V?khVIU1Kx}$|n->Vz3UL%j z4?Tu|Gw2cBJ?uS#m0{{bMwo2`-pe2VV7amuc<|ttxS_Tl{^2--qLU&sj8gIN+uY9s zYEDppKvy=I0~t!lX@p#%Oh_|A`ZLHGgbX967F{i@nrn387e(+LT@$NoT!&yhZ#VN31k3}`@aPQrm)-{Oku=LFa>Yo8PmZORs@4kJTwELXdVPYA<-2uSAyvQ z=Cub&3}uLikl2gFMr0jAJi{E;VPUYgn=!__$dz5z)Qm($vQA~3^X8r_uF=46`U07X zPxt}zcl-ubYkmszoj*+WB@|ev<2Tl6osOk@q2&+abvl;rpLaE{SeV~SsQ5g80u7iI zif6d|0*ZcB_?fKT{AtfEdy5V>9=*YyD8z5RA7D-8Pb-87KW%k~{dbd3X}#m4M8}^t zNFQ}>JQLzuW7)x(VHCdL5PDWa#@sJa36AKI3=R<#p?R|F#+fN|T!=%Y%xRabKYDP< z*&D+wHgW6>-Q^lp37B5Qj_! zK3iDCd9^rXDsWv9TiS5Rb@ZXq4YsA)4~?zX6K6PsIC?%g_FTmbU7x#kU=xWeLe#I0 zYY>j@Z12PsoKe3TS1){ce7@3F5rDR_EW7@h!FgV4$EHAUkjxj{E^R1+f6>fzz^>n~c+?M1IIA zZ;cg$TtifcoR-JPbuAhk?C)4)e)z%(_i9fwleiXTG^SigwYwIT0{f0jFZb#h0Iq;TL%pUjI2_Tn z=uD8m<3pH|GJSdIXvF%5L>f9!tnULtATloP$vsQ;7o*I0>MrZ%mgss9$M2p&4HRrv|$9%hLeOcAyg=# zW{|V6mx*bLLjRYgZqszeh<@ia7i|uyVuoV5(@m35*HFMlc~mz1naT!xEix3rsB0(| zYbT+yk=k%GF0OHG?%R5q-c%7)SjWGHM<*SOKNn<^U`Ol3nY2^k6vWGD*w z{!JhB6U?tKy76<)ANvc>r`ZEJ3N3HUAHhnulywqRH{ezGyr5S_b7?AHk4eX{3h=7a znOAijr+ui7pN>6jEI9iuZ6ubRfZs!TD`F*Zy(#_|MS)f%sw&~)eT z`ZdrG{6%!z&Z2Hrw!K8%s%faAOJ-L6B^1fKS=0F&p8NI@^=SJ4*n1PW8q@cGd=RoG zq7O|%qm+_mER_~ZAqg$|R1zi{ktI<|WnW5(h;*uv7D+Xuva}r%B2J5zNm?w)Nh&Js zr~mtUI?a#yh?o!a`Oe?#<=oHpyszuNpXVHA?)P(D@B4nfT2W`r9qsx)*CQ$EX1G}G zkwRa#)8(4$MQO%1IRQ~a{E%+AZ{%)arL^|Gkyski4bRVCjq2~a<@x#Dly0zD^4RDE zC)OtC29s_GdoK51dA$FrVrq$#Ud7aB)RZ{=wbR|!633dZKI~bdI;L*t6`?zhiz>Qp z2K39rp3eZyxFU2H5TZ^JRH8bbpgWGs3Hqbst4i0`Jb%%WORCMhqU#UB`BcHg%+Y}o z3>Om{+q;P-@^~a0rtLV8{Sc0~d)lP_E$p0Ei97LoK82c2MQO&xeb>B!+_<-NbMo zCd3E%n(&n_Wkh5i$OfN9$)qFTWhf^)TN`PDa7z#Zt1Xm!2xEaDn7l;p;lVk|JuFcJ z1-RIoG78y?DAa{QUD4A(mrlLtlo-RBun_900kZJG@*MRvpq{a^eoA`bGp^~cT{J#> zn22^vkM13u9$(ly`1QPN`l>P~??`voYY1E}>o1~R;<+nyyYBdQr-SbJY(I>GfR~7U z|LI`#S*bhTK)ZLa3xX!doRpR7u6HAF`MHxK+Kf~7PMCXu>+7;J&jaFn%fya})N~nl zr*+o63|nQr#mj<3Oph6k)etQ~jzMEvt**`DWj6?#K#(?|!Fqou^u@CsnC&OgY=4T9 z1VkNVDa8;&)S-;1Lkm%dT|^3IQCI-N)KpQ~2&E{Z4wgh6RERnRP?R1;ouk1FGJHz5 z*1HBU|C4R*R{7#Y>FJwH<8OB8nb7WiM zSlA)UFvFs|AE*Ng7SoYs2#gw-2I_!s5vty+IL)UHr} zB8%QcA;uyhaGJ6Vt7iGiP|e~V5(0Zw>!63g?0A|fRrK2uoPMb=jHXGw=kqJGAt*qs zZ(SM9mm-aK9BL^6us87)vIv+S(}_4#lP3{b1l26>nN+Dj20-t5{`yLK;1?-7gDe6b z_-DFN76G2Ko*)o!a8EJ1<>-xqDh#}XJ&&K^d_Ppqpw3CRVHTE5?ITCL=hIvB5*K>K<}tfTm*#) zy|Y0e2d7VgEbO%hmk^N!L(n@LO5iyHi6-1n*u9HeIOCd4_< zu7B@fho0U4aIe)JUvNr9`;t`m`{DDh*}VU>)>}loGoMx93hTfx7W59j0Io0vQN})SsWxTdGz! zde^)g1Wh1F8_;0AzZ3cjgyoe;Nwzi`BpF~)gR%rHY77>VMUBBCvZz6pL8K(?WDN;0jcl_~>(c=N|a? zTRV@b>$w>Xtnt)*_UXG7kIyWXG}mb~)Fb22Sk+{hmuXv+Be6dqKC$r)Z<LYl)so*1Q?DuQ zMdABT@1YMglvAN-c!nTIDSZ&X83RI5$v9dzsbuo$FZFYyFP@C4rJz~^xV^R5Nz zf?0$f2iZ6m1hQdIWMd^kCjrR@19JJNLv|wCmceMwQG<$wh&FN$z^FM#O&K+^X9=U` z95sW_?3y=v@ZnwaJh&hS0%@^v9+B&$rW#eht@&Ld|<0<+jNqoZB-PpI`I%Tv_FxatER% zPKzrK8(LnM<*m?P0{_}jN5?S}uhc4S+d zm@-4UO>b#av$IWaDehRtT*&@0nH#DNIeWLG0;Lj zJBCu+F_hv~_}@rz|MA$`T&4{nA94^(O$Aauuqb^hvK*5Q21|nEkFBJ4?j&fF7E^|4 z4@N-*RTa3iNgaY<)ImUqpcSkoGKGN{B_@VNqGK`!x(E89MRY_adjaT!z9Q&^E|o#F zvKf$cm-;gZ><7-FWdIH$qo#_EqvB2hm2$ptM{I24VF;E)s&v7|;v8GXmz?2Xd8IG8%{2_n$^WU0I7jh%IwL zNg6RAG?y2at zXwJ33)h=i(saa2rH8oqQv8Tp~nqAcFqs9e|{uJ4h`ns>ioXny|Uym$m^!3T2M&E!e z)InB_``hXu%3tSfOHy7!jQJQ*jPep<%>RZybJ4M(?YWG|0H>>F|8i=f6&&C6 zmj9`@tOlV7fr!H3VokxN+FQ21GPT*4>X;)XHt76@?HlHpP**uL9C?Z%r_cII>isDV(eC3_xLghI7|`Gb*T2J0(8jtNNurfEi7iAfvUN|ahKM`utb0&_IhjG`EW zIl6}O4TwYy1cepM>GvtkfXNywLLtY*?9IqAi3xB?TZvFcTSiZT zB`t&sX(9YcM!AT>&Qcg86D9XHVf`rig2<;w5=)X(493cgAk;&!ew5@C5%`_itYIW9UWhkzS-|6NH!e#w_L= z!0jPxQB(;&RWH|8+kIIv+JqZe7og77j3>tN{{LoX5ly-1%@N!mdpxormx586TF zaoY|WUs{sM)@U|KX76n_Nueg0P8loZYdAWybf%*!PDjiSTF%F9TF#XB4}W^hr1snc z)Dt_{hA~PWv0bF8x>iDhhKS$@-#IF1cd5V7^;mbq4z(<0F9x%aOf!8fGw{6hqDb|e2pp1@kA4{i6*QknxIHjz?Z1NLZSks zzZ^`;%3(wW27?N0b9^Xgpi2~jXhJsmAfUL1%oBzPrXdVyh%n@H)LM5cs);!KErdbs z0BuA>dlO+JqOZ5+Q8}4Ct64dPy_*_X$!!)+zk=hx{!HDuNA|D1X~sJ{c0h2M+$Om6 zaQ<40bM^<^?boielr7uPzINlYcZdl4#5I%emt`Jns#mXQZD7QoUKvK37DN3$Ypv;! zKW#kmrwU1@cdTel9AnnHZE<1^Lm9jhn=aDojN>GsV2*98HI66NbK1`NrHdTH3#U2y z#0zwhNY}!W4YO3_0=UE&kPDC{CFW%00)oi=LVqEUBofDEK>+ku>EXh(G=td-LW>j21!5YTyER?!OCl z#4}9i)lf(@cuz@f*7jND6nwAUt&NIC^qQy-9XjF&D0h702%p3eyeD^VQO2u$x!haN zpt5B4sT7LGK9#3$VxP*h-}b5eG8keX)yjs#Jl4}tAaWB z^FCpG%TF4=ru2n<$KUQfzk!-r%SV2acRTU67ce)}DqPni?m~&u(Gmr5mw+)&I!jiw z*L0iAEvkI6g{Ay3=}PYjuAx&#?DBq-^V?+)Z|7Uy%R-7a1?O^YS==p+;uiM4PVa?y zteYQ+cz2w}&G!4I-G5uSbLRf zb6&I1k?*v&_L7#i*!F=#=oXQeaxsSke1nGQMn`37x@`4w4hwuniiW$Z~>)@_hN=pDjXfP}h^xRS!Wc5oE0W4+*kk1x?YL&e08%8Ez3;AaXb= z%i86Zk)`sDCvq`}aW1oKhvP$9Bvt#b#&#&!&zMXdTYg`_)IStj1mPeWU*}EDYczYjJ z3Y}2hUKsN{Lc>-*K9xHzB<}ml2R6CEaZ?Hh+Zd*s?z9z;eUWb3vr;Q|EH@%KZd}0@ zZiK7t-~t01!wgf+*r}Nbrz_lSHUv7%DiGrq&aK-=(2LASVnR46tW97E< z!lsr(OOV5ed^(GDo7Rl#swR7D6HvkjR<;Ar7@)4K;LQMwiH_w7_Lo#B)IPG%N@$bR z{r!bu&>~cSHzvU%IIK~CjmFO1rak{MCExOhR;rzHfX0Wq`_u2-lT|b2x?3`^BeQoW< z2|oRpamxyFL@Xv+1wY3%Cu?BjI2k1b=w!gV)x~|1caEM7F6|%iL_4_qU|iqoEQM+y zw7d~L^{P*l7w|{AyZi zbcT`TJVJs9(W8#UI))gaqYtqTtow+{ionnKqNmg1nitoDXm?Aec9wzNEx$a=DC)$6 z`DfS7JAUrZPi8M@&QD>xQ3ETv&BEzdaP;|lJ6gV-R_On#azJbU*Oeovf%U4*!s%CV ze61ZV-`;d%zlOJJYf@F+{`nHT-epbAeXbXQNY}@&%`kPXFt$5!-&Ds|u`q@kvB1_U ze(dvzU*ft}D%s?oj_Y4|+{Q4|^q{S2?2AlO(Ms9au;&p0aYt?Z1Dj?SNOM)^)g6po znCW=5V$c>qKNLup0h$-PFbj~UjsIDKxT=c@%5)4M=&g?Iz^3`J?6cGaHn~#s*{2Gb zjz=o`Y%vRL8dV@#mN>UgBUT{`kgJW^S%SEUiwMeeJWWtw(@cWq*6k(ekB+%&LU$sa zRmQMU1F5|JAPCz|2(h1FJ8DM<2|OfwB{sOLHoIe=>Q}yw_2L%BjepPu{aLIvRPqS2 zJiu&=ov@_ereKsj!bQVIwr!YgiRscywT>C)4YjIFn^?=(Oq*E4*i4&P&Dczv_<9-5 zhuES!K7l4kX2WcnF}<+6B~79CGqJlR&8f!N-O}L_UFpr@@gKa1vKwzy|BYmTy zAO|52v_LAD5Z&^^dw5dMMD?R!JMNn(L&pGUj|h7?3|)-bH% zkC1;o)}HSwbHUaXHw$LsaH&H8WQO{_Ea0>a&+r`#|FH07UuO7A#CO_4teJZ}OSFb= zx~!l>;H3`w-V?!Jk@12Im<5ap)({-@k}(&O*}|BM$m|F1U~Ie?=JCllyuG~iZE#JZ z4PH5nxsc2uU<_;4=#jaEF%54FvT&I+Ep^)Ns6!t*uvn{}K9!S{wiv3Yn3{6iNK=P1 z5&4B9o>7O|Tu%TXd+?#d87YgQ;1p-kdjV&nrM1^$^ghK}mGxAv&D8;2XwBuMealOH zVqRjKwT+jtE@*-k(S#gIPB;)vz(UcetYG372E-=9z$Ut*98yb9VZ$v&S^}Quo?s7m z5ov~j|JSO1xxFp7+mA8%TJ>{mku-`o_*JBb^WNq&W+Jr`^%@zGc-ov^%}%7xb`Io~ zKa#u>l2UBQb&A=Lt4}H9m8VEvnfQb@sTXdG1z$Q0pKKoQC z)6t`%+ZKtyrV#}_%T(vq&4?As0<_yk;w(X2)kOqlI{rdXV3RsQbL(~z^hd{AUsPhxyUgf8?dx!TO`enQn`i*Ngatjt#4x1$HRYw0tf;F zB=P|)z-R-A7bv4|)0nMH7GN!Qy{0UH^~=EDnJhpAcD-h@05RD0nx5^Ky2=FDg1tO7 z))r1M!Q*%?@dWUjE0lAf^gztX$Kn>&%o9I?@x+e^{0N*JY|sGfmy}{ytBARMX+Ba6PmRG4q;j2*D7Z2N z4B&RmX$l<-n(+FN4BWcp_98bCgxfJ8~k0%698vF?8)luirj! zc;p$?*Ppej{;Aw`umt1*;A;*$y&+qVB-APC>qGJc)4i~}2N4?3Tyw>{!4+JFYu z!8Qx0U%>%ICHUEEhM#?{x{aFLou%#MU@dPKpE8tEI>9D4DUMZP9h>@!(h0F^pP0_D z?Orh0j?xJQTdE=gtLT6-stUZ_KkDU5H}Hd|T6aCcW|Jss;)j zpHmKLDxJ~L64{g40Ne53aeR`n=0(_s%IlTW?&nM`%Gi%ed^onHqBMg^kwb1%I-cff zyK804h7X{sv>%Jum{JHYIJosf^ryos3u>J50#58serh+Qnv`2l`Sp_)9{{+cGli-{G;BjBkz2k+a8dkIer z-nX^h0e!599-vBZqAar&+gTz6@7rn%A)YV+orw+%!38nB)^rSPrF+8yO)6|eV>Yj$ z@`aUrFlrDeY?v_BiS`iGFCG|cA4xFjkDDcG&>=we3-n!2oQ8(ak1J>!{tXo}F#KhP z+%O@aEOd{xL~d}?`ov-02i#Dm8^nBW;sYiS9dn9Isyjr-u*f8S5FO)3W)oxnLZ%qz z`skPdn95czxH1Y4_j8CKScNmDADQyt2KRG<8I&<2V7_$hX>p~pSguZ-Rg$Y?pM zucrPS>!NE$70T06`A*vf9P8YtavwT8ftKMFL=5%btX0jJ{hh!C)G+<~gE=4t(C+>f z%mNvNb=F=hKstO_t5C_fj?gKJsckOZ7h|AUkRZiEAd>NJC^fV$nU@h4e%r`W2B=jK z&=@K}ocKrT7&<6GP&R<74NEAO5J%O95~?)@po{+GXZxKibeOaRhKqmHEwt46)01d7B{2-GKIY~ zCEJ{MV(L=?nZiw)l4HkKMa&|ZLNQIr1;_1jgGi?E3Ka*J3fb7PpZBc(9}oGnV$}kh zc2fiEEH$5f`l0H^!p@dOc-6mbZ+k}S}}|7nsefbR5W>JR%6 zNkjtA`iMl80puo~cmt@62vdK+^gWa40@w~hA!Y!#L8v)B{L`Qg^ze^C^XTCpgCe7V z-vWcaAx48pBoM%YFlasz85-1qv>O<7Jy9GQ^ko5ZF$mQsW`jWk?5Tu-L9tiYo^YcOl% zIbN=L)X=jqQXy@Y8`G$Lg;!!o|2Ovhc~{@qndOgP`%(Ix$MwIdzS2+jPG9_yYyb1@ zwBujnP&=t$KU1jR`-rMi-!zc#(Lko5R-uNivFld6%)s8*ly*3SmuXPiVGf^PxMO7} zsT;%{D@`kBVG5l?SqJDKx%5_za7?n|Sj(Ak0#oN12pgs%fnY-lNt#r}8G?a1)E%$k zV)6xZ%-V#I!DsN^Zzge&LDdRZ>g0y30}==BiB)fC7QLTQhpYppRi#E^7?@}06m50D zYcAlyTev7;U=xkEa8bfQoGDizVKB!8`3NQiZ_}XsfD%)t0JS;8S3tfWpoGC3z7+C) z2Js3c3~bt!kK#-|qCEup0WL!uz&PBAU~~W=VL&5@(>;LnU=YwDbO80ir9g^sOUU=& zYFJPKa`9I9CZ_y>C`S2+QBb-7C3-(#qKEF2zzp1%fNpSqo=T<{V-nMFCoLrRXEid1 zfK_mRp2ftH`Mo~|oew@?6HQcO4v8UcqN!*x$CWWd$qZx6FqjsteL2>h`Q$&9yM)xl zhYpe85l}89fNLOwQ3o~TGH?y3Asx_>?|caaRgVuGI*>PfQ$v2b8uHgpsv&O~Eo-mz zvo*cf&~=-8Q5zzG}Yd3B;& z(7;+u&1au}ROr}VF!_)|vJusb=G@({LxtGR5;?)x4}#c15cY#;JGN;dgZQi=D6uZ0 zZUvszv#5B1wE|j177X}+Lpxy922@HXg{CEdgksRFGNg zkwk!49_fb|U(E4P%j1`RNtp`E8DI*!RKhsMh#(K0!bL|T9ie4K=?KdOUB+|p5Z*-fi;+~RK>ecOl9mfE(iaJj zZ^esGDqdKZK9`FLq!a`RA;U=s`G$m$u9T_3%QB*}&QYeq5SfZWf7hCczh|3C*8t~3 zL#ry8Tul91UXYncOXF)rY^j;SY^m9=6bi_n@k-J@r3x%;skw&PQq!FjkU!#;q;7aO zDYn%7k=au7Dk&gOF$&0@rPxyQ6m6*qS_B2;Jw^fPN?U5)!%Ly{Ig85MXF#!W{V~@u(JNj>8Gk4|D%G!$Rv5& z7V&r}TZAzLf%cfBMG?#%lUQ5H>@f-LBeTaO$sMrAWUcBUJZ#fTymc@$(l(QYvUtkJ z3ovpV@cd7^OWH@_`QMN-5A<-Kos0Qi8IR#*CJ-}FBA_;?O$`~_$Zd;kf7g5^%xvR=>*W1SiTJMy#ReZ=II_&H@-TiY5WjOGQgBc21GE)07E7jfC1kQ z=Tc1sQH<`9Mk((YpjrsJUm|@6mthIuGq_Hh01_8rq>*hQ;4!$5HYFr3e2$3C`+-X; zH@qXJQ0~BzmRLq?WlWMnMqFe}6*Av2Ch>#_s$g&}X^rLjWD#5+TFBrqd9a08V=S)> z4pU)FA_`#(7?VmEVWwmzf+au-`JqFFXOxXUE2!zITmiU&s^a{*+eWbqIhl^uUVK+2 zSb`rb=tGBFU>4v86BOqk1~<^=WTGZA9JJviE2zyC`b`S?zLE?k`A^-$;fiCYMGn3A zYbCzA$U)-k?I`*7lE$}Rvhda4@bF)GOT)K{%||z^gvg<(8(-SMe%5+bp|3Ml=&C3zkG?P&GrA*?|GK$n3xXzN1Cy1&|p;wy7VFlfHqLIbty*ql?sM z^bJS_AXJCA3=PVx?7*Om3KD~+(E3Ljl*t4j@&XAtXi!G;h(WP-5_J#^%BUe}P-g81 zLf2CX1EI(bAOV6wvx(YZ(6h9y0}aZkBN2(J1qN`RbexDmXf!Dsm{pXr@{})FL-htN zQa0!_%7#o*HXJ8j5XvYU22Z)+twrSq{Rc!2GEb5F4dXsbBM~i-4Tl0!Z;c^F;+?#I z%_st5$1Tt^R20kQLJ1kWJ8CJEkT0NwENF8Yct$Nn9pM9q`K{ippjOQG&Y1fleXPM# zeG>3PRnY0I^dP=U)QLKzgCgm8C?xH&HI35AEJ0siB<8 zHqeDA#oEhQ3#bX9@}z$trNcjXPp5ak9iIMuNcfmd0*CeV^sh)d1z!?A(&kPtN#HPq zk_2LuBp8e&LCrAVATL5p2*E2iqq6*{<6`OWy|95K( zH$N?s;$f#qO`g?LY97-mV|^8e*?`tv^`a?kbzb+^U#-@1c1)DhAGw5PiNCB-_~^>S z_dl!uc}b&0X3NL|i7aX|TV_!6*{9gv;V*3hv5;hv)e=2RT1t!h-)TCGoto5y)|%}% z!ybi?46#RH{a_1wai<&J%Q}G6_BV9Ai{ZO_6f%1q@>r-j+<#G{jQs~uWk}FLc_H%t z2cXjE#E(S0GmdBL&*C?D+z*ZTPW*j;y{69G#vh%Wb#gy(XT~zrPCmNf4|iI&;MX9k!B$(^m=4)OOOS-+c4zMXVUY@&)o#zkI8#|0ra`lS z7eR68MNr#A8g#0~OO-jcENB*j8^lWKMNm%Z&A&A4tnOCYlLO5{dh>4PMNn#MoHCn} z8xG=CP|z%_;oV?f1ckR<{p|FpISG3ec-G^ciFiRGy)zL@4Sh**nd=e{A(dlGkz z+Lqjdtqo7M@|wF`YK>_1Jk}c7RLx!)9@84dD|K$*g|6DfYiceHiD*%4{jIv_l^G7r zX@-kYDd?t2%G3Yu3bJb6s-}95&W9-#n@6Yy}?YC=CtHRC*N-N4ysVvScRe0fNyN+9JyCqFIx~3s4wp84xv3Ws3 zb$>ZWUO>gRTgO$M7uLmJ*YalvI}|QPw@j7FU(k)~XRD2FHfhR%H4T#Jwz#pmJGzZ= zoKBKW&1KmbA^1es6 z!z&#tUWuu?)Lyx@p=L}@>2UV7Gk6hs^G)}aw_7JV)sd~~&IC89a? z4&9j!f+8}`J)G+xF9(rug0R^ zlto9Ewj5h>wRP(<-{t=L27k_BkJz=R zFtFsclsw;+>l3{_VP5Ko4z&x6BhcH?)9VF#7X_9yO3CM9;KX^Ue3yf#SH4g5Lk#>z zO8ydD81dx-(CofEenh*(A(M5s|f?QxzsjfzOI&% z|Ip#^)HU1ieV;5a9*$r;Pp?}((bI8TucYMpuIdHGesFE~^eTl512;&?r=b_VOq)x| zd0*fbUf+2ynui|EX_)jwc(uh`aZy1$yXDHMLA4fU2VC;cJk^MmUlVX-#xLso0xslDy&OH_Q?fd6C9RwlM9=m zyyT}T=X=x}{B$wwX8DqS{^s}v8bKD!n&z20Mv|Eprj;oFnW2-#IN^j9s+2vM%z z*wg>z^E2YxFYFfDT63kpYR0&}_5XdZ^xUfN4*E%4dm?FP zKU?TJAeG_XH<<4^y`-K(+IoX z0zx~V4;?VQ>n>^an(qYtTCYBluy5=pS|BFy7VW*?H+U!a(HeeG`(!6v`X)CPTW?d$Okg(9&qD-4ypF@O*-YvG1;o5 zkSA0AJ2!r1NcBG7q+Pz8rY%a5xiaf=x$#Rws@MA_S^9E(wkRp&$dqSu#&lvSR64# zCCijw=f?LBsh+}0nuz<_s1%tbvo47nFBnoioRu^T_q9<;;hIeORc?IOkm??+q^`KH z4N8%0nRRS#d~*{7O>lLN&+z58yolgx+sS(?EtQ-N?>EGq zO0u2o%MRlnWfL=WljR2YLOf&*S5}9ZO^lpp(`orCOR%toK z*>F;Q#A;mJhaEO_yI~Z*%e|uPzKLOZ&88I4qbPeFj|te#L{q>uCYl0@nP>{AVxqtH za8j*ld+)V6|NeWcPh#*%mC0QvIM@rUd?V5;xqQvQ19^I*2SkO;AF+C&xB6YbDLYT9 zY(YSyz{)0hkpnL;Ego^PNNeZsPRiW@3pM*VKl`kg1)C0!>t z=XYPp%juKc{8IElgUR>-)t6Qv;06NRcmBR@evg%T<4%5V${thnW@pW)nh3LF8(P)v2ixZ=+_|)KL_*&dcJEy^ zQ)*h31T$Zxw~ie-w{li%` z`?b9?#WEMOe@?g|z!m47HH$8^+*RXclciw1L2-utLZvd%@JoIp5@f_{U2EjW%&pY2 zXc^@=ws&TJrV)E?(a~Ksi8eV3nU{h`Buwz75ZSqv+6WOl*E@6V{cHn|Wvqw`yK2g8 zVg?7E2nmZAk)Ueo*qz(GOjd4gBZz1T6PJmP5)Yuf-y!ippn*@;_hN&vLAU=*_YrN z3a0SHkjDnVss zBTz^%N*-{Gnz zsrY3N2)YR920>d0DkSI}aT9xOxFow78VJ8Hk{_v5T% zpI_DJIZnxD@l}m3qTNl8ZCsqB(M!~7ghRJHpOixNH$5&)J(94qyr21oQGmo!3TG4K zk#LZp5e|b0Qhy^w(9ZG&1ijVqrTWEgc{=9G9xw*w^(SLC5Ew@~?dqALs{Ur=1tAZ| z9p$skB}O!Tm$#pwE*FH30P1EgF$xf(W)tM$cz~c0O#=vet7A_OarLbO^17JAn7#Eo zGL8WGE^h`QopW`~>t!x|#8-W5*SvY=(jG7d65`=I8%SqdRXGOgqa>Ff5zb5zv@;i& zJ#nVg&@RUh?U=7QS4wiZr*Qgh!3J}IJrlcX4jmbEXosGrx~!!6apCkkf_AI+Bv0(R zdT5uJLmnoY>fzM)-i9NO`d=G=*r%e{ru?+R{PEiijh*WjTe zvk&c9tEoOk(%eTl{hna`>OFfVb-g*XOUWUR&6?^;lFNOCGdY5G76QqWW`_>o5vYVbzRBjp~9J2f}pswC(jHX*2TbWN0{c^C6dd-gwwMH z8!QF(OzwJf*vM6GJEAnzjU~;)h0}8c?bhx|p4|1>ur6ENJmNIfmq{*<6wb^QtY0f2 zFlA;Bu`YYvc3jt-yHaxbZ^G%n3vOE{FndZ@DY22q-FBpEs;`zbj}lJL6RcmiXU~+b znqpmo+&u1Us#{7fj}gv%AZTYLkUVAPYOyXcZaeZd=dPDren~hzU$DVSKwxUuePSbT zxb1kNsctQ4enmL_p`hLRJ+r5F4HoN??dI`9Q+=!C@;Kql0>S$A0(+*;yeZbD#BE2l z=3INpz4g?dCD3W z%L_)Cym3Dw?~t3~m9W`7wNT~4s>%_07i^EL%Tt~Q_YWph4jq*jTXNg0UzB<3KGO@U zu8+^Vu)=#?-uML<*ZnR9x2L>V4&2q|MUV2wH}o&sciXmpigx1lODkTBC-(EKtg zzHq0*&4qgl+)8l!qBkeU?-@RC@ad73<2M8!DSW2jqlwQFd{*PL6`y_hc;OR_&qaK0 z;**2VGko6Q(<41+xM;e)8rvz)e$cWFrMZ#D8#B5rRprI7>7(oUUbdZ8xA!s-ST}O}!1@)q!VgwDQpq&UZ ztU^$K3QCIHQ@5}W+v$iI%pfFMPJIDm2inN%z1l};~iuB>@-s_3?AX_wO0(tz%w@|S@(--*b^*qy{2egd z2-&etl8{chKAlj#mx-!|#lFnm+Cj({Oe$cX%dopymLeIlWHFB4PVQU2Y9 z-6{P?z!-6%8yN?Hz!=qO*Ps-g5y}V41unoCrMwe{Cm}n_e;}k2t{#SIU70_lz8QvT zU+zaZWvcSie!G@j@s-)OK{~ajp?Z#nW%@TUs9&OAKn!~I$Qo7s`uX0SfN`T z5rOy2`_7_o5ry~o-{umQ*R^~f{Hhx=<$P9Xzp-2Xfv5NJ1*7o=!?Qvc;0ykR(+5or zwW*IWb@-aGWkCeu8fsnX)Z2_LRfs89flc(lq@ix%u~|tk!ke3V-Wf?VOH1`rJl%sQ zY_e|S2|p?lPry_=pGbi;=Ho~r1#UDSdtg4Uqxo2g=Hr_PN^PHyBZ(9&pr8X3L^Jy^ z3c`G!JD-Aj(nv%K`ccp>1ldy1Km<7(*Vnq{;5LL1qwvQ-E)?^>Jp2DQ83`NdfmfK& zt!P3QrwRQQAko)=+z1*?&~1t$C>+pM9sJI8a)bPn;9qtRep{jiB?KuGl*aD0@R{v} zv~5=#S`>VX)C8CQu<=N`MxSxU8#4l2MaJn~p35Dz+qLhwiLpOl*AN@`z~;zxjsBvF zrZ&X^-9*J>#}o(baNRXd>++aK0ef8g|HVgo{tSdU=JO{T{uK53lMR20dgOb4SJ<3u z*=L@XE#6o==Cb{%aN>94vLO6Rk@`y&|BKDWcu zPUavcfU9(zp?HUQtnAcvKYUkTzzf#n4c4<7zeXN@jlXmnp5+aGu^Rj$FB(Jrh0_Fo zGxl9DiTsAzuyXJVA2W6eKktCk)|%HZ2t~eOwgW%!z&}psAE)t;KQc!%n$SQ4bU*`^ z-3C_>Bi1pJvH(xO6}AvpaHF7h9p zf?A`iUWnfK#xp*RXT0&lPgsInge&DDR#ST76s0GgQ4)iotpxcw5AwTPY0eZg%#{9W zF+;{9T>av}yx!(xJ;G;S>`KNFAYJpc2$3f!r7ArlhIcbOd?f7F)$E@DTNB)Osfs28?+m+@ z!oY~WLNKBw4G#lG^wV#H{Ga|!ro`Fb?Ef255swoJkH>cEvk!5d_=I2AD)?}L;*aV7 zBIrgZ2}K@Qf)z*wburn0JeIDKvm$8yi(hpwAvco$&vDkBpl7sO5et9cq_2wH&k`%jV5YIBw?r z3z84)g&Rt8{X;Ijei3=!q@nf}H@vwqzXoAzC{wYDQUzbRTG8*HP_6jHeI3LryDL--OTL(m;|uMMfks_Ydg0YRmTsg#q*CjV4|s8n%@pjtq@ z{~l`?{TcQBcT@rWD$Uug%BOC7HTafq<~ffW_!krzvoC&^*VVkw5qWhOGtK*Wz!*S? zhkWNe}yic6f`8i=PDn$i4VA!qWF@F zTL;0|4DRv2avFlWT7$bX4&4l9u=FpS#@AK1X(N@{j5gA?x=kB7iS5K_BbPamHj;D- zq>03l(MHlaX(H*Ie`K_gmnfB>OJxU2C5)w1f+Up`sDR-}Sps)6bfQ$kL<*u*0;4(@ zL_t({P@$lG6x3duD5O-vSV|>yLl9HI5T~F$X3$0sNo2H<-^v!BP_`(CHnLM?i^{ZS zoi~a?)7Y&+)lEHjx(bXN82j@zs$AF{Ng^qOsrg1o88k($E~9ecGtT-lqzoah{g(!A7EykV9P-a} zNqnhF|A^tzhKF~D-MW_jNvK4*|!$XF9p@jP1B*2Xwg8OaB6Pz-k@ALbzW@QH3JR;(lbQ2oL%9EpbY zPAvhoctE`yX%_XaC?b$Aipb=PBA)X_5q$CFkBoQ{OyDbvBDSN3vLAFrlsJnN)kyva zMUbDLRsfIspv03Z44)>G4DPHmCmtG0BuIP$(Hd=y!z+VZV#^1fv%om+774#RqPnM!e)V%wjm-;6TFFZUxvg;|sj z@NbQs_5JIJtiADLw~VaRGEIro746{kI=sK?icUPAwYM*VJ3Q@V3gHLye}^`Ge3b=} zg?Z;!1dRio5Jg_Y6-kO4U@9w-_V^97;orEAe~$YUz8EA7zXjuq-NzSOgYO-U?`@3l z9iDaL)7&*qPAwPg+7?f^@Oc59KFf_f_*Pkh*D|Q2jR)-HizBBq;z+hL>-)Av6bqO| z6kj>%01`798ckYm;Yx`K%3d(?OH)crd~iZVisPRUgwnw(swRk0HGy=JbySnsOOPZ% zq?5FznnVymV_T)B-;;S%yNq-SCm~(fK+=UUk}j+#h(%B-pcf67X0fVtrabapm#Lh$ z$M!<6N^{S`+fwnK3+$wQY8Xe7a$X?g7z9TG<3JCt?>acpV_u~>Incvi+UMI)o&2rr zq{WKMdTp!~xMJURsY;g!zY&HDcZ5k_%^viWfiK(dV&Lx#7kV%-qOEHME>rZ32tUAx zPRSnhZIExj3H|f=_V48F|8`bxtvw|ExIR)jSq41jPMq!u@R%Ubnhs9EV}ihAWWXQp z{HlAR!_&@+EObFe{$q{kf2KMpB(O8r{qS9V0dEOdl{Hw^6?~DU_*Ei6x=`jh0n(KU z()FosP?y|j^fpHC@T?M07i%z^D_}ND!E7Qv$-SzwG*^K%6kDBIWF1JAm#c6Ar>mV> zhB*u>R7+@90!r&WGlsWOmUR9xjeq3ukN21(2tp9C2u~y(45^x;NlAwkP>m*{8seZD z8%UVBs-0>W{*jrWHJlC<)Q^Hlm`R$;gxxd}Ra1Jv$6|JmP!6XEyUEEc37^>Gcpp-tkd;+{p1 z^d>fltICrx35E(8Kf+i*#$*_#o|PN_b-u|r(aN)kYcjRLH_?%dX)xT#P=w)2h7yeM zK@CT$vUHq6HdH>fZ5*-?Mm3BjWYod%BBKdL4jHXamBls7VRS1&%pw>)VR(_z2SyGV zLNJCbhB2r_S^OCVi&6|BViZG$1jXpWkc6>>3~2=KdkJGK#So%EF?uj2Q4ASVVR(_D zj9{q>7-|%w4`UX^kTHj1$e0f!hm3^?zDdD)6k`CxkYdO%p%^mEU<_FT<0k~Ku7qJh zF@&t87&10cj3JE8FqV*Ei{KtrFdQg`5NC?{H;mmBL&km>USznIDEkIiIo+CdxWsn4 zh!G4=82V(KfN_ir9~fC=_?IaAX}*GShGL9igis6_VH86~Bn%M~7*QonYq6Q-D$#B! zD&N!LdE24fVcHL=<9bZ1+c?+DwC_geBigqw_;jf-3lHm3ArT(erK0G3YL^QC^ZCHe zzW{c=30PR4t`+`aVqJN>n4DvBaifZ*QX>Q}-@Y)m>-r1jE<1ewyU-6bd@l^|is75* z4BqJMv*7lH7j&&8y4FPa$Mu7MZ8t!L1Wg09zCWNaf+`4_PLL3w7XBti=g2I%_V3cjYZHng0u-5L}L-8O3)&LL};w;fOH7bCulH@MbI*W{!P#j z8jGOy1T7^f1)M!sofy!(z{_-2)l{Rc!UP&HpfG`R zHil1|!0zLOl29w}M8V0T?rMKw>x}J9E`ND_D%W&lQe5#K+iUYGcMU4+E*;-T$6l0G zHE!A?(~X&oqgUlF&o+mhD658XphuwXH8`k8LLVJC(Bp3yYPZjrYYUD&mD1WcX!PZS zM<34awLU;#>f)meTr8z!P4K{nv*$7JE}t>C7aRkO=qm&x`iH5D0e>6h+i&t!{+%3Y z?xL8{Bs8P7%DHl2?EL5BuF)Ipo=5Dpl_?0aIq|st#dg7QQwm~U@n3BBBHeU>+(q0)t_?u%Qm4fGr-xJ{ z_9P9p9U+>$zOK&fKcnyODCxZKC7XuB%`~>(Ol$kid{@uEneUqUH}f5je>2}Xw_R!e z4!RPCk-y3xW>_)Z$br5NZJvp8U70>9zxHBA8+Bcl9}w3b(2XC^j~}4K4`^x+5a0(0 z^8>W_0m?g>i%*p6&JP&O4=`@OhxULT{D7hS0L!)j?YN!nC!s?mC(8HaxrZ1ZN{JS) zSN5}}m?C$xouem>W&r7S;8#9Ss>DQKlH_8B z9jAmD)}cRU*i*X!l@O!|NSPoPf*uhx4Ny}*K=uR`5HuA~96^=@H+rtRB=*oeueJx~U-mUjx*GwBeh;X7Pe9lH=@1ym)bELGY$677 zix|l0o&YZ~;AR5T2-F~OsyIb%0T?j}zpyfqo0mjxVt0e_H1!AL88@B4R}2jzP+5p~ zZhKO3x0(Oit}b{+NN~kW+g=5u|9BT?P~5Q!-T2h!^DLX`Ep9UTYM&3M?;S|S<7&WAlW!5Bfv zCW(|zyQDYyCp(U+oA(e#isL{stbq)yJ4i?;T!)2Ddk&u|t+GdFyP$8)04457o5!=B z2kuXwCv~N^msMW1`hN%_?3rRFe;=-QvI=$a9y7( zX2~t1DnzZ>2bwe678Y8s+-}h8?1N! zrQUb2%5boH#I)ZG`~qL#M+o;?$i4oi)?eaczGUO@m%@&R-yBGs<1oAEj7mUd#_)`~ zpASEGh@MlU@}S*)7H)mG&%vDycNyHZDi6+}_hR(^f9_Y42A9t951ppgsC}a$!$OvG zSXFP6Q;oMv^_et%mV{&Q>zLApxf5QqZ`At;XL+S;eo7?PEc}F znALH)5Z%Wu_bzIA>B+p}tuz^(8hXsmIWqiciN01mJ7@82>tUmnjC4-VmQLk*J~vm~ zGSF8pWI=#u$+3Ah7g*yC>Uimm&bV!T>IVcJp`arOnoL0&6f_q>{V8Z9f`(DhP6|4V zpju%BsUb*&f_fmRb<7Wq`4PC2Q3y7sV7K-WHE6`S6ik;LMI-)zAeZ*b${fXr|Ae4; z`Yj916%7V%pr3cDk&bt=4}S5-3%vBCUrFIF!45xy7Q%*&M%ZzLMa$!dCd8PK80xr; zI{ro-ji{qMb@a0P|Jb_{xSH~}ZyAhbG_o{=1|=lTU&Yvpp-{+Dn)YF6BS}h1-Lb1= zFC!8qOR0tyk-9Tvn^dk`O^Z^rDDC@l?|r||xi`c6PYUCmnYYj9_B+pcp6~OVbB~$( z`<~}{e&=}3?qHrPQJZoy4?4+~KzN?%3Srn)Xk4AtLg1hDi>8B&p(fYNT>)bSIT~t;AKRfZ6~RP|yFD}mYE zr0Z3&90)T>lcRC~nzos=a#UO!=ad|df^e`=nuO=jNSE}#+Gf+p689*D=dpVlN0#)y zs*nTWJJRID9)PATrul{u^O(=#4#6*K^8KO z%E5C&&w3Vc!^LB~my3)SVB`i_1i+{bV<9(uDU5;ethUtu)2O=4&P6*=w^C6je=e}^ zw+q(LxFp8=|JC0?eBY1w=k&WwgJk7oy^;%F1*P#>tFE5=-j6NMI-Gk_-<2PNJJ?34 z3vtfg8u?6K(J(9)si5NltEEFGit7$`Bei+)p5f{-jM_D*&n;2|eLCuQsDU1!JGdiA$2FnDnGG;AVhvY;rYDc*`zm#HI_d1_E5j&3NnXhjETK_)6;s`aiK&o;ObTsDF16?<4*x z=8E$?@+a$^B*HO`eXnA{r8%th`h{L*mNE^|iPo2=3+Bl7 z6FNEeP#Hf`94B~iN9`3)9L-JoIy-pI<>||$!G4kk5c>g`MF_B;cd0WN0(5MoYk{=^ z6MfHH6@PjD14)F@ltl2PB!VU-5k@14U_sf3NArYqG6lai*2nu9Arq0YIy~O|Xm-d#%0xsJ zJ)lfP$%eGt@OYb)0LnyU3=Eeu*L@mt#%O-D_@;ry3c1rS z0NnEKkwR|M0&e{hFpMN^A1Nd@K4f<~*ohWGEyHmU`QNttk~>|-Nm=V2zTjni!S~-y zK4+NoBHQ|M)djC#hNB(Occp9c&8$@~mdV*Tfg|vQ$%z1@916AcN9r|bYh2`?mpQ~J zlA0C2h!k3wJ%RY1b=(yZ#vtP`8c3fV)mM(q^HNzY{y58&0P{rv=}V32kuWGzO2Qo; zBSngV&5Ex@it2vn*u{H*_}Zo+ecwDU{{HX$go=?u1!9O0(%C$#2{W+YOE)~$>RvToWP+3UP<5t z0tXU!qvrMB&-DISiHDDI$M5?S>vLY^?lY=Qr6Fq3gNpT|Ku5;m^>4v5;G(4bN9b zW|9vOP4Zv_H0QtPZmY*>vk@tcDpXR8afX^WeN<8uaQdJTF(|YApBP_qs}A9WF5`r1 zEFJIRgi?cEVA_vag%fJKvEhhj)nsEdCFuLHOWjsYxh2lC(v^efhx5|#q{R9@&p&&z`*#v5CK3MiOMHNLGJ z4UvYLH+O`M<2abbUCFFQ<_ibO?1=n8I?@1(XtGBwqm(B3w<|zGHn~Z!BX+X++`OC` zVkIpr(g#sc%<@)DP~=bEsu;!~R}D0h|g3~(zVYVdxVrr2&n;OZBNhf zrAILRU#D5WVo@;uX{N>CikA-1B;|NgMv(Fe(goMc#7?vL2dZ}0vdUcem(5fBjCyYx zTs$#tb<~<@1KDkl56%xL4Z1C^-w=haquBYSC`?1B*Ab zugw1DTp}#azkjj)%?YNRW%d@QnRb@hTPlFGtIXa~0puL(^J3|c4dS{}+=5QT=`6|_ zH`m7VaMbVf4RgmZYS*Blw@58(uPYGPc-4XXdIp2t_#KieV$ zEB!%4ChLUe!DBO+O6I?B7qsEZs?a?7)S%6v4w)aaJN9USHFY$CJS3r`aiuGN5;_{G zlz@&#)*0~`1MY1YCzI)G6~vH+{gFDCPoR@QHeEy>M2(JDnMOy<^c`J|uQgHf53Obj z6nn=W0-yO0RV*f+od<$*n<-)ZJQ9p&FjLd`(G67S75FaIC$I<30NMjvAoX+riR=NI zJm6PIl?+7DW*xtUEc!HoP_2;F83nrW;k_ES`KrQx;^&%Xo#Kg1u6z~e_4GK-O3w%|jdD%Rv>%Q#q zX%XfrH;mMy_u3CGL33krhzB({h8I1ZaL#B^^w3RcZnQ|bWi%^#n|-$ujWo}2IUBS# z`hiXiYN-*vEe(xtcF?1Pu|2JfZ{Dv98z4V;QHSUzzO{StcC6NDXDed|$9i{{qpS@V zxdVLEI)uOSB5)~vFdXRvryT{{y}d@|5BLAI5aKO3td&p$3z>(bf{={T z2{lE*VlT+SK^%1{PU#FsIw_A@jqllZ<84YNoJGDs zo|AQSBzoPMl0BN=c}8Qg+H$GuaAX*eJV;tDod5kjg~@|e0m9tE_ZNg_9Wqnq0J9Ft z*+>d#;V$+OWez4`(xDXh2D;jrV?l;fv8cj8%3hE4Ugsm z#NPuDr5A<(#P>f?V6BK{7js|^rx-&JBY70e|Gw1>_;#<+3|t{vA~N<6dI6NEi6D@g z2#ly@U?Q~)9H*9nMQ9mFrj-t3j}VO3HGtQx(rat~;^BasAE~)O?n64~MYr@H)HyG_ zrT>7=dEqU+Q^W2DvvLBzw$V8iHEy2aK#r^UknDn zm|bOQ3VzXt6LhTESjfE(3NaXy`Rr;-Q}ByE+@NFN7mDB)yIvV9+qjw%aoPcG^^l+3 zcnsG7i4Ri{ngzH9U^|LnJIKV`2is|n5&S_B{Ne0N?tPGpV;~pHYAj7bE*7K)9czbi z3iT|`MNNWQ7KN+=`E(}BfNDSWD~=J;hvT9wL!OXb9KI@K7e9mu%|{tCC;+9z2jFh? z1l7iu$zqOABc5;!vmlkwvC0o1%CHY0#xa~gL=(wS8 zg_r#uiYBr)I)|dh%{TNM6QUumE8`j@eoJS5PN1}njvu3z4$&Au>O*llu8bP!C5E0* z1MNm?pyzZ1`Db4f`H+XZi|IiNDFb7??bJd|jW|Jix>c5s-?Gbvwc7Hr4#1cMjauAY z4z|$7Mau8I#d|&C z;RBu*^k$hPreCdkhU5n8I0(BkByAv!AdQXn-8P%r@d&FHTNbl~&%R=PoM%&g(DSiM zg-_LL%i|l~>?mom*Ab7!djIERiJq!eWvrPK_??Z;!KlD_hB{+H#)<0=bPeitOGhmy zaHNgSX+|v_GHw8=-Qsk1GHRd~8|pv}v>T~`?g;Ygns^Sx#^tNKg1v3V^B`&cquQff9rhxuDW}GCjE|ka)vk z0#QO@27%NGMC5`=CeV|c#t~>cfhZxtkP8)ns;IirMZ`cVq;|%=xX|%nhIT%f;r@Yp z8#IVf1QVmsCq@xUIfw6wc+k?x3$%0+>m%+}6ktU{BUU6_Y!tBc!q;#@c2a9Y@x+V> zisa^YDfLBj&e0$?UbBzCf z>f?X;y!9~6G5)0hq*(GcT}<3hiIvjteWZesYstDaRaGD97xs^KF5yVJxZEjhGDjY! zX&<+qgX~NFu%JqRBxEY5Ezh6(UjaH=Bmc=yg+xN3y$^i6-_{2{9?sn=TEuu=u)VhO z==-i?3^Gq?`}2bTAyZTPmn^p2CfU{}W4A=3M5%<9AK%!9`~No`+x%qgmS~hHmC&{) zW50z)i5|860W?ZTzNAC+g`Y7ULWurfcM0N&rHQhzmu4my5@rT)0Dt~u7 z)i<W_W!0w|fnE&su*x4h1W-NL&omir|RoPD`zl;`Z9|u@vbUY z#E=2#xHLcq33L!3Wdf-YXdXa)2{eKt5ojxc_5)Pi45BnZ?UAl3kJyT}f@uKexDW5*B26%9^vN-l9KR>W@#N?Q$4#0U_m)1L zU2sQimTHFJ*GB$ojcGQSxXj&))#0;pNm=NadF+Au0fyOBJ~Ix&r^(AIz)T`se#_csDWN=C<8UnZXH4X(bwdD zPT`x(Bs4Zioc_}=X@N5sn*N6`B=z5bxh1g{7Bc)@sz z#tCfx;Sw5{!&NA?Ad5LXoo4=Hl%Al}f(~(r`2->kF`Pg&(HjuRl|Tmo8c3j71R^%T z-vf{oK#ijSqD03!fa>RtSYnopqzZYhdzBuU+Z_7ekhOS44{%Ld%E^EetRw26OVlBn zsKaVv0F#IT_z(lo0s}A_LolKaNJrg!nDR4Ta8ATv9HlUbKhzR`a3}tdK;D+*eFff= zw|vg48&R;kQOY3;4~kgBG45Rp&Va;5iA?y>2gci+#uf*JAI&jVcN$#0I*K?$vE6!w zb1^4sHe|?|hn|Y*Qmc_BXAycP=Fo?{9Ep~Ao)bH*Bg(Qgl|-0_g2ZI3NhT5#g){li zsb>k!Dc}l&3ooid=>;C8T{bIH@e9ie-5$$KTrZc@CH9v2!8O&tOT<+ z%n4j2@B?q~gN5J+XE9YLW2%1fr+LdevIu`t05~VSkzn}K^xs*CRqsCXJ5KC%vnkFy z4CkGS^F}(v0u)0D6vG=7BLNiS|I`c?5C#^I`YlfF1WqlHs|1qZ4U&)ml3?0Cv(bbl zX47ZWOfWTTFeYKmN2!UzQit6x%)8^3xWkAPLPWhVgL5}tCw3qQ^#m$#Oh$nNMK5?ifpUP#|CqO_rH&8r zmP}7l&HTd!L}GKB{=9)}+h2Wi6{0ngz?3TXft$3srorJ@gyj8y`n!YT9nkO_53!5i?UxiEndMmy;CNyg@ zW=!>;HtR4A{6?He$ViY7hN)2X<6q1v-u!k%52Pu1K;&W*k&AdD7gj_rrV@+rB^I%m zV3c}5ap`dG!T;#lUm&#(aSkFExG_BpY6b`6!pZ!3rR<$e^D>zd8 zVg{8&ScEQgvdYjjM?1x5wM)~`PH`({Zw=Zh)`!k^8kSb{)OZoKQ$*=LpmvH9&v2%l zLO#c(U+qVDzl1A2VDkBgzC=5wqjZw-X3gbaR66PF8blvAX6z9DnyZn>kOiKU_1aB? z^DM9Ru~jzOb=7+Uk`YIdjEF}vV)f5KFDBmSZfrK=wtNEa+K=L{Jsx-MtG!`P;BG`I z|Jnk0|7p%^OD_Y%A~wJ|_KorbwK=?nV2nz^k&AF-)InY#8L<&*kZYhCMo5E%;Kcqt z=3)7k*Y@Fy-N6?_wjl+{h$18->`vf&CvrEo&s^HkYw1o2kbh>X0<-x-n$6qMYpLJn zUds)??S8OdYMV=xU~4Te9^{}nVm*} zfQ7;xDg&g+t*3%SjYe9$tCMWWu&W>RxaPmZODvokzD&c*COY0Kf!9ZLylJE3?IR!g zWh(Uy>v#s%AqHBp3#?-{SjUK)h6x8&gqYs_Mptpw&q0I1I{Gx5K`Ta}OmV;hW+j-t zVNT%o0dd#`)-n4}bK6-*ulBGG|92nx9VhnJnIGVy6yTyDgEJU}s1FFyE)b&GAVjBe z&Dv=Ot=I+DF&nJoG*);#utD%|5&Q&#Cvy9=&s+f3;g2RsTH!HOxWeOwuF9{7c!{1r^4xhM)y{Q2W>Y= zbUCZ!LtmTm##1xi@5xbri)Ec!9S;icczF82uqexQYm->lFU_b0HE7cxro-Ac{2_bM z_JYPzu#Eq1hde~!1qq%F2FjBvwQKq+h>k8%+aA%2uoKZ+N|suOlv@c<1S#sKdA922kZguk_Kp( zG@y1#3u>3Vh;~U&>Z!bho=OSosf?wbN?nvYtk98LMysS zeW&X3c|$h8M`o=8R)vPA+@MvV7NH)LsR%#%lrj~?0a3_Qpog*qt3pxD$UvszT+Gl~ zWGc)fSB_m_O#vh}v z*Vu;SnU!-~s`R#mOF0jcDxT|mYi=XwZ7SoTd6q8AeSzYd0acv}N9RZ>=eMXzu|6a3 zov1%!84vqAg|9gDPd@unEPlx|+ib4dFkTG*Ub$HL5;h(G#$H$(n?ws+^oFPHSBXc_ zh(L}CTDHon&3o^3ajM5ND57NwcbLt?QwWxvn+D=x>^e0SeVSJ^9$lb5&1HUzo(nrL zgGCLRX2J%|te=Gqnzgw?vlT76{FJQ|rz56{IyyTZL($g9Pz3I8Gu=?egRGjcV8f1| z|ADJKJC;{|UHitO%nyHprg-hwA&&ent8SLk^FiL134VlbmOYJX844fV%_5>?@3~^- zjdd>P8q?HjBYKyvk$93a;aaGXgGqEjtUbrM_y%KeFIgjz$rv`8M3*rJzs9tkwGm{1 z$MsMn7~qlZTns};sJ2|ILAnVZ#YFkNkto?$LHG(8TT3(S! zh3^_c?W$@AUZaYX|3?1N26jc3U=8n1ykOK7)gkGE6gEGJ%}){Vb=R!j@0%3POW!g; zHOsv5O7$2Ql?OG}&z3Z8@hQ%V^slQ|N@p*eTV81t$uiiNlkdM)Flp$mB#BhM)nqr{ zq)WU;_S&W`?!{Tl{eQ_4G?eOIUs0?oXw0%^3wT+jn{K*@mGK-VzpVW%O94Ck%Xn+C z(0}dIZu0XV(FCFg=#h~N##~!-I6nJ)(*|D9hznD_bofWZc_hS z^)v2V@f<@Sk2wrzlv}0KKI{HVPGs3`G1zm11;4L*34n4Q(*(!7(`DTs)ehwY^K5Y) z+^lA2Q=~6;3Qj&tpE!UFHyK0mcm2rFTdfI(aRbU>@LwE99^dsV77Wg^C0Skw`kVm` zXF#?LD0tRE^6sw2hxecX_3&P{_&Iq94WFq+3fx&q45%vu>cxOYF(9j%^$j@Xo?}c9 zB(hU(5zf5(sVzLj;vWvhH#^R%s7A;ltyulwsaX-wq`NShWUW}bRQ31Bd{ZlgEY2Iq z@#SHPvfS5@&a2@$#ZQn;!5J-7xvJ0Mo&1qNPZ?0n$qWM3KIa1zAzKTO$Be6VDU0s$ z=$mMj(A9O^K-cWS;YRugIhj!$dZ%_M$;(e3fmw3%QaY1o^XZ?+RW=ufK|+HAW5{9* zn;FAnAI4+T(lp=SN~eSihBXa8BN!%#e7UMo(?uDhflEZus>U@g${3woA_`YEy1OW2 zJnj<|C!vzgW+3L4|$c&eOSSp zr!O*IoqpIWUeTh}jmlxKB0yT(%sA|o4oEAT`pu)|Rg=!-<{t}h!ZCf#9#&K?(04gG zKR!v(qS?q_pkD$^Yn$=~`ojTfZBxHM|0E!-YzBs!J#C7uL)Zb$lsFko@gcHD*0D25xk?xYgvHK2^W|2} z(;qSWVXwi5mft-P{@t!K1BIrDY4OVhD{IY^Z*v@vZGDxOh8CU#uz25Pw@#*L#Q=KI@v&^sBP!`UJ6zXI*RSex0GZK1nR2 zvg_(Cr}l~+soy$Lb#Y#g!n&Emq|R4%wR1U@C>CD6b&|@1ydG&yGmlF--0pF*e5;wu z(_>N&c|98HW=csFRCaZCIh7TlxYu*^ zZH@l60j^gc#u-|yyr}e_<)psvIXX|H|BnHLhMGZt#h{@Uq7ejWCJ4|70<6p4u!ig1m4&3tiRAjYoJ5mugmOQ0u!}#90G4F8+g*Pa+#G& z;BU*mIB8k-NKv)=zSfMgM_n;!`}!7EE*o~TuuOaRx!X;Te)b(w_UNZ`-KQ((pUZ1{ zwBy|9=>sj3z1PrZTUz+3N%H3xt_h(}Z%d&f`06BlpcX3f(!%j!a8Uduj>T6e;bV1v zp`>N_3<4K-;bD|mnOaV_-B@fXIdS)I_aLF zNW3uVNy5R36Pz8NowwQFpO>+|{*BAByF8r#wKlCkW={5!m$$zK)OjdXU&WIG;aR6Y1X zlZP;>9JXT^RG0JT@`Gw6)9pq&x#Y1O?_4s1YBy9v8C4jaeorQUb3qDKDYI`>np_%&D{Pn#kHya zg`m*rt_!IIp_#iGRlT6lhf#geDX4a2qn)2aWT%Un9z#=Hb5cM1#Zh&Gp{$#kfj z`kWxpfL|P06<6ebsP3K{B>zM8pxhvZAF4;^2L0!U>Pfjlia%7V=LRYNP`x}iXz~x$ zrnx~=eyFz34Vv~t^{(8Y89!8e#ZcwV7-kb8mzaIM1%DXl4!8r zNfHg#yGWwJdN)ZlSnnZ;25VQ6Xs~u8i3V$Tl4!8r8?qzCz+W!AIfR{wAXO2mrjtrb_l6Tk zZQ7IYXFAg|Bc83E_9QadZd&G*XFI1oiDEzfo!4zsiNdvwEKYFanrzuwRSUm#9zdvu%9r(9H=g^t0+Wqu@M@4Se8_(41yhy6wR1QYulKq_ll3|Rzvu=D zqsQz?F1ho3r##%WukQ3HmlyN6eM(-MthW&O88k{5rLzk%`Q0RH6{4=PI9#54Nr}nE z&4O*|jS_}g>;gVtO`=ZW+Hb7i2J(BCl$mUFg;$e=(KGhb;eu`w^$OSSu{b(>_mT>e z^~c}^Q$D*uMW80ppb*7j{pJZ%mC42n@Zw1r7O|fi!_=s7EfvQ?z#5bFR|S6QJPD&x z_Kv_~GnMypo<*A-84xxSFQ;FNbyZN<};qqP&>#OWw*wH&>e zl#7-72by+akUB!-XH3LEQABM*GVY6&mz_85#a(d0d#sLPfaTf62?GL;Emd9?XsW?o zaN2vUHYv3ejszb2j*w6SS>v}@v6r3y57TG9mSn=C`4rr)t!6)l=omAMSn|E z?Swvo$7U%j2AZmK@1OS`tgX16lzRh@Em2lHZwe%o4016cp$s(LRc!ajWbPOCf2`Oo zZ~s04)VVKbDoOX&fM{*yu0ayow6LHozNvvZzd^camSzc?xsyhZ4vT3A)#cDiwViN0||F+p*v#2 z{k+KC(P-Yw?@T4Mqfe#pe8ZpUfu=pV<4=3b=!BiI^b%yvh%fRj z(aYo+|)NOZfNBvGcj(O95tG59xm^3=zck)M7@r zM~M2e*hK@9_IW)~9iB-90Kv}PY@E7eIt5$rV1ij5!F<1n$K+0U&M$@{Ri9?nZ?9Cn zS@0^Y69AZ5At*Lajma0Jb1pk23$FOD7QARkSyPS!IAzgp?QMZIBKrukaBu@b^;C`{ zxiwm+xIU&+%w$C`3O|XnuH}OQRpX1q)MkbB52n+J5!m~f)7LHKse;xqaDi>>s^@g% zQnrcgAz=g;a5^S>BWNCT z=opZ1it9@u2xLzfX|vBOke?#{?J}EKb{Kig$Y(|YjT1UWP1U!b+{qA!mFpCOYcs5q zF21t(PeJ~xH}(FN%ej1WH?%Vt?MO!3pS01vo)(&?KIyief^?-IS2|OWA`0SMb*yZk zO8-m_SW&|Qhq=BzOA8dUhdGbF?hjTZGF}>yJxo$Ov$f5X**B({&2z}_)3fx%h-@E4 z>Fc(;c5F&KP?k7YJX2)613I;3ol#0_|E&XMj#&as+Rtdn zr=f_3(tq;6-#eMTD17&h6ej_gUpoh)L3D{4+2B0n-zbpFw(C4o=K8u$=XazG?BrQ? zt?MaqF)iDM5Ym;ahzS{u2g_c6!pK|W8HtY@2SZ2mz0 zKi^eTk~^i>Il;|*`JAwk-UA<8{K*t5KfQhlz08--Bo*i49@B1w>L)~XA=DlrsxzS& zM-Ci;B1goU83q(NmR+gHOKRMoYm_gUm{d@7bFi~>-I}VOI9=7nhRiUpI>qU)uJzRn zi>fo6!|IZICw*n5lx7~zG2hMU>+hpJ&BK1kuy3aRu<=2`Db6ha{_3)O7Y*@InrczC zjni9QVMvU5l^;h^-TJE-i>kAnmNf`#+g>S5ovl)-PeNx#>*BuHJ(=_xG5pD=D5j)|pgu z6i0avegG6ygz7^ms0aneQ$oi%dU0eyVh{2 zFMBCeh=~+0niYMMGRKfh>MzymHj?sZ_wNdx?3Ql+ALof{W0qv7yT91JqR1l$v3z?Q zSRc8m#B9g$gxf&Tb{t={k8L<2KH}}qG=HM*exXq+hI7qh(6U-pM}IpUp@dbX zUW9;81O*;7R^dNi6QoKOGu*qpSKq24EIvgkch?kUUo<#wCW0o+1*pB{8AXc?H z6G%|#QOE@1N^+S%Y(fjxP|Ws-(UXTT$JMn~Vop3X(;VOYLZe9xCyGuS$E8bCg5y@M z2>?fGz{t#&RLn(>4CbtMYoy24(kM^7o+R~rIpiH@@Hp|Zct|een!B7 z1T6Tu>f zLjI;3xNiMVUW4Bw9v~%v*b$`hp9~R5PxlmP-B{KLflGn_f_$fMdumB`T6811*H4Gb z!n;0&sxwpuP#HY)EDP^Jnl8{BC(t+o^(IwUsM1L_^`~TwWq*fR7E}Je`!r_Jk8daX z@ts4z#}CH;WD1oZeve!JiJlYIiBNlls7{1p964~r4>>s^)=WatZ~H7I%~N_^5)PSr z%?XqCmU%FKtLc0tO+P*H1aWh(nWW;3cQx%vC~+a`GeWrvQC$edIC9_!6geW+%rKzH z5wYG9e$a!pof8Ie*7l~6#o ze$g6e>am%f#2jil!1eP&}3T_2AXl(Dm+SMNTg74xLNU)NMQ>_ z9uVUMnUV?V<~E-En91Ha4I&^);0roUwVCFb>h3`er7;J=7lJ@M-nj+82m-%2_>L_x zp`b?a0Pq3bTJQkyfshjL4=^LcCjzeIEu7djLD1yiabk9YO~jCL3i+j(V{l?zURKN! zIvyMRt7Z07s95B1aMKO<>-~+N`;?6on!ew^L!#(l*-G$)i*s+dSI={}1fubHRQ4@L z>Fdo#RdM5&F!Epo(WrsZMf&<5@N9&q$O!m(U|QKMdj{e#j)(&hj)yGS>#XkuJb|0< z+#AbEVR9o=6HJBw3Qo}qOFCSp%~$QIRV;uYfWU(g-U-yfiYSL1QHQ?7CO#t-D2GCd zT(*VSuk#)BKU*(;a#H6LJI?8JlFhb|AXRs$B1vV}>71u2yRfZO5i!rS2;bUQqRxgGBA|Ao4w z$D|>+Azl%F)BGG~5pIZk?Cty2Fr}&HxFO!b>FIx1UDjjKkeDBEJM7Nf4lA{E`@XlN zwm0)}FR2xN{{FjbKFwYGr@lFVBLVP{?!0l!-mV+_k96nV&Kvu;(YpUvtdW)|n)B1L+$LQABO%mqT_>ytDiY8F&xrwSFrMT+ER#n6+KHSl_1cJndKjXj-})(RD} z&5CbCiu@aoDSyyY2Ydke193`BAb%jE-3UIArLK9tt~7=d>*2MyI?D<91FyxDh-h^y zNHOneCtwk@J))`;r3p?GEdZ0*L399l1@S`knSkPGo+tj$3;>Yv>w#?fH%zwNAKCI@Ot!pO3EA>rnQZxX%9ejc+47AK3%dDB>@`+$7CwubKOMXOrmMkcauMaoMO$jrOs%Rv#u9>KIw1i^$m-x(YO zDFn?z$~~Zq&Kz!qHTm|drP$CVvCf(QmSpdYg@tKUV6N1iwwaT;u8A!4h)yT z2?Y|DKIyCjzd)M(6pp_#|5f) zobh6m#4RkT-obi+8~LnFH!7W5**Hp151o6XvXzZH5(I7fLzUz|NM77VegajJuaKWW z31ubd#$E&v8nrx7#RzOd6(b+_=Nia3@K^9^)lo3%D0sA5@Njqhhp>yT=9BiAZl?j# zPeKX1TTT0$PjWRqOar8?LJ7N{!0-v{;IH3}f5JNW>v!XS*1_9dWciT0@ee4nd_WB+ z@+Z^Y=8=0$-D!aIlTgC$r!Z_al{AlZH9bxPq^&{;yPv?Y{8f+5>qV9Zwoh);6`$My zX8yN*u`GvUc9e6uYQ&{#^gN7rRv$_=2~DYfp(@dPy#lEBVeJ$3_=gg4{*(2t0ElVc z2ov9Uh5%qD)Ff(P)(pW+ce$!_`AeGm#yhJ_XXZjpDRe(za*Tg?4wQg_WTOoNEd*Y~ z05BV_e&LUao>2@IDX9H{QAnU%;WY$(1@V{=Q_S@Wn^5S`3=o+3uSPArRs~ceAX5;^ zxvbrUnbXUgK~l;A>_n6J0CEE3?F9am6S&MYM`R!r4?@35XG>k7sRbsWpU_w$sLQlWP1NHa~ zm~|U{$}&oK|G)AZpzlQ3Ocgc*B!E1NAd#7`2f zKs_TC0aHe0*Mni0?B9`(Vu#4sVm%^;<03u18jTPa>d?@TKy2Y(+Vg}E<4(>zd$_=YJ(oI)uAy?H1__$WF4M!5zL$~BmuO6}q; z@0U7~21uub(nxQsQ>op(t^86)(*Ws|P{QsfFnsh5$Jc*--_k(Yhwo)lQkzu~jk*tO zu63P(OUiDxy4Y7J{hSh(epXcNKm#O|e!_n<-_B9@_dxN-{;T3|(k#N0QT*xb-&MVb zN8ceR{;b$|qu>l@K8imIU!nBlCoKJ}sM>`FNb4an7Dyj$L#4@Gz5l0ge0;s@vZJ>0 z-d&Bav$-}jO}1QHDQ8WKFUqp_x)LkHFV##8)^eSTDntC^-EohJ5mXDiAlHhj4UsA% zLb4Pw-vv`!!b(h~bi;3ii7%4M4jv!?kHHaYFQuEOQp19}i=@1Ps10&;5tSS2t-{wj zPoK`riNRXC&8(kO5F!G&VUHvtFb30V5fK4K0V2RCM17EvDiTm&+6<~FjX@0~e)$W` z@tFLB)7Z7@$le=JE&%uRk%8z_K;-NJvSGc;LSE(RA24tD zVczJiF6v+qNPbb<__61yFW%B&{sArE?fkKPy~F(V{=yHr^=(7@;_Kl*Vf*6ich;Z$ z?)ddP@K1er{Kg%4xA$GW(gtpK@hyvEwui908L@g_;}5dq$rm;lJgUBOs>pg)N|s*; zTg`~&4#P&Cd;w!PUu3-`C2JewK?b461I7aep$CP6hcFa85DFfmQ1Cz~cnCwm;{y&J zyeTCsSuax%8D`kvRmWDCqUkHXpV9>nh1_9j!`^SHLqS87MR+J1SM9X?3TG)1gVC5j z1E^?#)<#A#sab*6MkwlPWh`Ix&N1;1Kpr6!8W*%Kj&)W+>*A5v;m8GONQq&34X{S1 zqZbkiY<0~S@#u66s3IzXd;KFsC8+Mtc zxj@`zX)TN4Hb^p*5Vz5IB6vc58we0hEsqGWi8u}%Lut_m9KjpFb(YfF3A(VvAJFm$ z$3l;qo91IZ1@MZXflEU*4MZCPm=wapULXe=)4%}6%A=eR5Z(<8!Oih2`2eaZ93j@Q zl&L8&YbXM!rf`I63QNsCWHF5BYK#PHKv!cbZvE5YDKc_L zW$Ph8Ynv9APY86Iz*ZcIKs2G7F%Lx$oqzlaiC5Wzme+jv?l@N=nD1aIfY1P;kc4j3 zqu7;t6g#6w(Y_OU6lF-&8>-kg=Md_J4U4|MN}*yx(x6A~0I_S!(!sZcZ|}O4*NGh#w7mDSmv*j8 zd7apOz_J&EnPJ_O4CaKX(Ew?tP^w1mpc-8S&*n)bOoRY2l%lPog5VX7fh0Za>F3cdzY3cTYdz}p_)*9c<7KM`W!fW6z; zTW$=8N;m|-!72t0#c*&^@J%+@0!UuGZ?ba`_R^iPR{@7e6FBhUz@vlz3Wu(FwvKY& z0J62-R{zRpl~ZEmf5yRogGme~cQWmO_qhA{RrV|3-3Jh>pUeGkb*{HvWGw|u@BaX^ z2N(^)tORBNFu@e&7Q!gxCB2Bcg*~g=*i(i>G#m`}!NDF5kAH-N6dbx81LSVg6rU?2 zu{R8R^7r7N35PWkafHKg@Poso)o>UGh|w|CbN2CM@`C9aOf_Ws1||=92j7Rc8N4+W z0r9T4EfllLvu!FfRkM!raT@_4B+YN!@#xH%c#Ui?rtP{i`fQ##A{y z@0ddYt!?T7VIK-;ZF5UbPyhO%fYvt4#ZRod5b&9-o~8V6^S$&JtUr{i8rU;&UA=~v zzSjCf0fPp>KCm0?^U1ypsv1(Mk!l&KbfB^y2-Rv*8IVesP^8*Psvk+EN2ozi1(0eD zsSF53s#~P8C6y7OB%sPAl@qB<2t}%H-J#k}suhI#3Mv^=xs&QgLXk?1REJ5mnoxtG zT1~3sq%tEEsdkdepHvov8Uj@Sse(wghESxs)jey~1uhM_G*r{jtp|pIG|14POoJK? zIy9`t@S_!E}@Z$}0k4UOM04UK2$0RUey4*+mi@7nV6!M3dL`$)f|ny)P% zM4_YQy2qz5e2NmvTaWR7Qd_z9MQ`Tge(ek4r(+ja;9qk!ik?{2Z44KDc9&)FaCk#O zUG0+m2b1qS8=5&T;eo^*`@YtmrUg#VzTJIAL$NBNd@8dIwyDl`IIlF@cgX&*~@sT2kTk*?0K+Gk!`95hn{jiVK?6R=qs&IDx+{M0fw}xVPzu%J9@!?}X zvMyDAIKI%*9p6UZLNtB1FU_vd*=hF6c{zxJjQ#G!lNZF> zX?h+(llbSDo+WS0_Y$0+{cUuD?&U|{?KnI>qF=VOX7HSE?=79yZ_(vPOGz~VDtR@i zH2>|Yy3v|eY8ZlPD5gPPopdw=(@;!<{9Mw}5KKdm+2u#uc35A2w2KBe8urm}hz2hj zylFVO!3AG_e$(;0 zY*!i}#R(PINXu>y`jkt1TosRBigi1n86C+hO!ROj-iR3sf_Eo!pO@f{@?TAzPcRhB=c z9IAayw$FY03xK*SM7a{`xeygcC~^cU2Pno7vC5NNg^r`hv8C|rule1|6%MerHuZjP z@}*!~oy1-COn$ctg*~iUr21OWrCuVAP!&Q{4p2}rsB)kf$FIpTPUv`m9CL(@ci$S` zl{LRf^SQ}Lfq4DVIJPujrb6K$%e6@}$3&b|ciD6JGUW=cq$1RzI-sB;6dZGej(5qi zTw}Zyg?jWt;ygndnXN$;)D`*KY<}Vj=iuc{Vv;s21s#23A>-bAeUp( zPtdDg_b&T8{=o9kJ*=Hga?ee8f|0zs6t#v6VmDb*nTwnyR1&j;r!90IxGul!vCrAq zp8IVbiWV(1*%8WYv$pF>h3qa-s-9B!?X+N#V9+c$H4Dd^1EB5Gvfx@V`SEtC)0^BP2oflQB15JHmHRWgvf;6Y53ikFj`A*ncReZx!OI5_Yi z-HYHjIPF^li$H^Lb~d-Bf(D5od|8maDNE6TlIWUIDZeR?NIntWN z!C(yTq{<;x6jbsd|8~{!@ex;ZFkGV{nuhB%#Ly5+1Dl3lY50wX8yMtI;?j+ey|>hW zhBY)e(cn(QaT9$-dHl)%a~Dq24NwU8yqmM#if*12 zVeJZy@qcdhK7ui(u#2Y2Y5uW&-^Z9n0k`sekHpYW0N3wuEL3)@fN zRww+?t-z128vW>wpx@y*Hc%BpREs~&Bgiq1eys@w#~h*KU2<$8e7OSaCsuverg*6w z6aJTiiu@iQ^-8lX_-E@S^Q}*?ZSXHEB!{B}-OH`N6m+k!{+b3z+*({P zy25%S4Uo!(5_Ug<;V&kGZwvp|lEJre&6devxxl@u(nR9LLaAK>mFvnP@^CD+*A*fQ zXRU7_6>;tG3->a+zSd9fRn2gyK0RZjY;yk7XD?TYK>-qBfSGZkb6=H2V@#e4e7Elp zJJt-r%y_Sgr~_ukiO#)Mn3-{b$u^`JR1sy<(@L5=?^O|Vz(hFFx$8P41_~CPRrs|S zi2+!6SA38dn073d9~p+(R5tlamOT;!C9BeOvoU7^>M_tosL&HBf}0fvP=JOkAifYe z{Mum)8?_Tp9^)_!O>l(ot${Yk4?MXSP6VP6hZ&^%Jk^R$Eys=FJFD~!4AI7i1w3R7mxv~i{IX>kn$X8 zHkl=(DNkgmmi#vwyH1xs{UXIGh z%JPL?X*B5nND>YDt4N|je>F*~%Y)5(In1+h{-Y|padt^{u4t(6RZs(IkVsTGVWK28 ze5oOF6Lo7;W}JzNZJNP)&@`*EN21iXtfx)$D`gXWzh&h#xmJ4QA^UKG$vz|_`>>D6 zK8SfE`>>wLKFp`=Ln37#Sez!cN{K|1Z&}$}I&Q;pOaGSp?9k&BlP z7^5Lw%f4h%KW%X6_3hm=^t49x=)0(oagPmh&$HC{M$fZk_(nNG3A;J8+a3c_6Yrg2 z_<#h)2V@vpy>jnJV0<#J_!BZ#Xg2+#-uv@nPp1p!(Z1nBoWq}3pc#Muoz zU$GZPpd6KDkE@O93ip>@JzNx2_CzYnRyJjF_Bqwq{6!%OH~g7x>2F1~mv#YQTgIKt z{bth!=f1HGfkW~Zg(Ur^o27Fz;~r8Oh4Gd@PrItpLoj26y>nmw@o86My9*M045hXU z0JQ#%g}~>YvJpkIEDIhZ>a0tiH}q|qjBwo>L{v~}2ulIMj%Ww8l3v!F{i8YfBOIElSV)7RoW^#6ywYk{jN?cO8O zC^UmK#-(B0N@UzZ)R1P7YLrT$!zhhQ!XT;Bkz3SfTuLY@O_y=a6y;K#T&Ihqk|xnn zx{^-1pG)WbpS90nGJl!OXMEqx=eM=qcdzxlYwvTK->he^wf5Vvcp2bSb)u8%_d~2# zU$4k-fG;)c!>>`eW2yJBmAq11-g5qG(KrqGEb`8e6EI8fC#HMhV&{t*oE#ZssIwk} z{Ft5Ji$Rv>-(rx{cfy$(tL4Q#!2N2SPELH`#bXKPz7em2Iqe(t1nb0bpulF9+9 zbvBc{2YY$-h|<{Su|cv&BrFjaRy{dTrkcX>&`i}y)wziyRSswx7TnJ~-b0|rnJozw zZxg80s+aaI!BI+wb1Kh|`vqsQbYII6jH@OEj{BRtkBiIkeK{{A|I1aK7?tUkE z?0K!_%3G^!wDvIjmI^21o;i1yj;nG0oCIdiWHX$;14AoimDZl5QIB~mRU1RG-ZkzP zv0gHXYh0W%vt*k6TD2%$RFjz;A`HNT>c{jzORF~L?u>qh6RLxwQl=` z?98%BtjhoPpk7~gGdKYQ@c_i@LiTLdwnnE3H-moo6rn#2&^tDT z?0Mw=E;zv&EUCBJz_Y?-emY-N=L9g^qdyQfoa~IJ>Ro2d#zn2}@g}GKGaTqMM=PhCGcYr8%GJ`zsoX;pi zg{>=Um*TU}&xE7L-beKMt^*sW_$fZL%=Bww2NRD+mE-m}i1$AzYi|T}AwiXWj_3uk zBVZwV@PjQ`=71SQ{@4$ezG@%^6+fkr6HAbUiI1b<#Ae)>GzTz&*9~sV{Fj@huX%dR z=Je#TY3CxBTxhtXoqHspWc5FKg2B5p_a7HgT09uPr5X($r+ueq&j_m+nzgpa(uv+< zf~EzS4lwz8Z^Vz&vuB4@49r^FjnsXO0)7}^GK4`xEko}lG}JOQoB+)@0UAz#mN@|$ zPIk(j0R8@wf5jIYY!pztMom>4@F}_Q(B* ze_Ryyi}%pT9f?UF_j(gV)dfrf0wMggz7mU_i%f(yF_0CAo+l_JK~eMZa*zpx(FJUk zl}ubcK{SH`ZGGSK^-hSqrxPjTpo%rlNiMutaEKhD85Ch3i}(-Xo)Wemd;@udi^2xC zMkjqN5^BXe*TRxBw~!r3iz(%RyupHVpclv+R2+}HB8nXiB+(0G0kSPA_kgs(MXl50 znLL5@b+t%J98?@9CW17;0yXRV3>7*-xdtQ()>86;G6!(7lD8hW1}9I6_y9VM5&~F@ z+yV#?oMlp`0N!^nT*;EC2Z#`sMl(dn62yXt5S&*M5rPYQp1;h6D3-pw>uNc1$m_tx zPl>0PJ2t8(h6ESKolh{g^DL0ofdw4D02W}K11fRx@oBICOG-SPzBden!4f%#$P*H< zjsLF5;a@59S&3FF6 zeF92`cr6jMavBg&5*e{XaO{|k$FgPq!LK~Mpbw@H4E~S-;y{c6Jfa>1LI~!-2A_Ct z9t(Pc)4M>yk1ZB02X{eI;uO}(jK?k_qwx3yQVUlwS$48~i9pA}h_}QdX3kP@iF3p* zoG_`U$v>N2&<7+IF&`|#l8D6vA{MTsvV$szRL!LFB-KJfforVE`BmHUTb!ID;xU$p z$8Ojy?V%cL1C=GI4qX57yEXFX{W8@HQLG~d#fcuSl0D+G1EJzj@f94Q?s5RPrlSA# zCkME-$OfcRHh{AzaW;-cbRZjG!ej%SZ@Q%7xJd`H0YjN=z!u5|lu$N+^M%1s93$xn zZi?H%Q4z%LA+dww()+z41YnVWLqBTLF-y! zdGEsT4hUnbr1U+L6rYf?r*ovW{n_PLt2zA&w#$T%mIwT`B>x?$Y z#>pF+^>2)HQ6^3hfq;0Fau8})fk4LL5<=!SA_+FgPTWRPf+AuMCI!(4P-jpAM$ruk z2U75p5r=us|N8fp`p-#u2gUp>_H^JHH=;EGNLIs zR}zWYMw|ic27u%j03tJ3nG=UJ4h%mfKE-$W&1z5t6hW}!IB^+#klF0~AY8l@@qgQK z@PQu04=k9}!_fv(K4z52KUn;fg!q57Bly5JEd>1@J+tB9TLk`Zd_V-Ijs-DLt_M-j zoMTT)Vh2+x@u0j8i3m-7{V{2~Rnu!88ODg4ZfhI7`t*A+g9#Qf;=^DENE#R*_6H;O zXCU^M%}TF%ZoUt570fO$>%klZvnkAxO9U6N`nmawv1w*l)g7v9K)>?z)isL5;gL&@ zWf5VZ>cl;w5H$H`S0|Vch$_SdR3VO^Mit^B6((w^Fp)qis#OR{rGUc3@ynz_t)gV& z;+Q!*i7^mK$RUz2nHa%dQV~h8B$BY8=kCy@=!eWzonbJElgw_e5%+JbPpkDRHsJOs zQ7=(1#Ze*$i1(YRYT9wdLENDzQe0t*6uWA6)pV()L$?G)ii1?7NVLGQm=4KN6e*Ny zsYt=~Ly_WJrbsbGFh$_W9IZU;{|`Nl|0vyCH&MJhjA}$pT=z(vzOTr<{a0DuMd78@ zYy5XrWTc`!`Vw%0#|$TkkaL2Wa!%m)oDxq|WqjKXssJHs(v#dVQE@{vHmgS;PgC{U4O&SI1&@Tea?5rO{_E|X(h$j>?u9i!^KK^uqPMH zgFRf76KR1Vl(-63?4SpHxB?*ny#WA(#d1Cv2{0fmaOF%eR6cMSE^|>`x&_dem%-5t zTd}05FLU&mdNqKYL-h_^0W}Kn8hFWx%Nye|b1aevnwDr)h@9hsaBg0L48qKFjFQp@ zbEqO=u80^vb1VgZ%SBM0os8QUL^{eEXj)Q1V$N;?8Zkg31D2F8m~#Nin%Z87-J{2( zWjG>pkO5*4j4XmaNP_$JB?3X`^xpt@!gn-DuZaOgut7vW2@ZeF^Yamd5MO87*r!$4+kr8+S#I3RrHu!}aw&xHnt zFQZ8uCf+nT|Bs#^@|O}BxQNLAnD{{|k%0zMC6bExfig8NbR>Ro1*+w{+E|^4=z@T6 zFtE8=&I<15>SSo_lZwsd<$ac)svKaAhR6-gH7@8~Fk*TabZ+XV;DwW_UrK7d7`CF=2x8>OxuO|+9{t_c<*zdNa-Lh={ z&P&=Y%jPO?>HW$!RAE{+SH7k9E89|qY1v%)>Q`Cbeia69-Mnb7+&g{r^srt7vpV-! z+R=MVd!v9U1JXa+yCh`#=x@S$4bAG@ZE44yr1l(;{^i~!dl)p-40_8nLPIS>!wJxg z6QJP)XqgkBca8yC<^tr2|78SCN$H**s$78s>u_0XE z@n}&Y?|9UD-tibt`~e-0$0)f#9gq8&j>i#9$K!sc<8da_@fc1WkC9o_@n}&&9goNA zsN-=C)A6XqbUf~7>JLaIWXU@ok1QasRt}>i8evWyk29&`QOgpP;g}Wb4(8O-Fq1kS zwQ@*zhiHU3bv(|bjz=v^(1>Gq9G-Qqc+%BSc=76<#Hx{DQF^VOe*0;b^(;f7_tNRC zFS=9=i|Eh3J|-;c;PyJT>^+HcV=9ajV2td~E`jmz_PYHruE9!EL!sPw0xNT14A@?0 z3F9&tO$>#{v2tve3dVRx+mbpS+30w*M8~7~E=;81C(Aic-6P)T6xx_m7;_nZkzgARBY_;iDal6m zL5EX@ii00j93)rVf5dT>4pbZhYjjJUZ}JZE{cs$l0~LpF(0{lEc?DD)QmNt~{nq0f z91H2tfAK1Li}w|G_cJfvE^EYW;)+e)au#ETV1{5Pb3Ffe@BUT(c`aHXX=jJGvHwFG zN-Efw0w~$`67RgzvE>8zds_GoIvxL*7K-_XLSd9wT|=fLJWTr+|aS?G!6=b}MUR6p58=)rDXWx(RQ!ME^;9-E6!2VN8(zMr(N zY8HI@2Z-PKDO=tax4$h4j;e3#y)cU!X0N{9T-T=0%6uakxo_s5lX$Q7Z{xSye({|( z3of?#%a`4dHD2l9WuW^( zkvZqprzO6j$K1`w>^Jj{r~yb{GawasLD+X%!97gm#+*YvOx6uHvIqje5l&xm8qq)D zvDU`vQHkFDvQC@{^{PYHLjPv2pBid4+v~JWmG@7u9R~Y7vd6)WHz)chc$2D#ROkPb zs=qc1g3!N=G7rZo^H4>Zhj>y^=HW4^B&13r6}?5F1%e>RYg>83EN0AquzjILQ)J6> z`MYk4e5uCWmc5ML@L9VpTP3w&FQYeo)^5XANpF8wia&moH|Vys=gu)c(*m{)NT0fQ z$3`kOGDp;_7t8fqDOFN21fLBk2qGABU83DAra zpy32)nG>MjU-B>bVo%zHP3T%7-6Q1o%hF+gBFVU#AI`sG&2d+)IFP8!LrY{BOIGpN z7m#Hi)|;u?F3f4$D7*PjpI*>%G0s zm`WZ?2s@8@CCSo>dL<2o;nW8aLyOf=`*0&m`$W8i&>45|0S`?ESj?lBF;#)3nn$b` zE=@U#S}eL_O|6lz+@RJ-EMCX7M(*)Ab`Gy;YG7@GS^)|u)45Fd!)SPw^-A_{X0jHy zaI>;rNkFMD;u7wW$w9clnXFe5-etX#j1%-qGEP>afcNvM3GtF11e& zlS5lVHNXF6j6+xN2)QvD?BH(Lcc}qAOl*8ZHJ6)@aWL_YI5{KJZ>(m3+;}`A?7KGo zV97G9wgoeR&*QH=9h_r%HgpDC?bLVXi;RW^+?ku{9YL>Qj0@~xqIK#!BVXHLwwYn~ zysgF@iwjjV(K-#4H>rw9b^br8dKZ+(ae7p#H^gHSRU~RiG>{OIkdRRDf#^s=8G<#o zYXzDnJ6E77qH_h_+r*3nx+XCrffqM1qqjE$HO%8V(}hQ+dqk3Oxezyp59JQ!j>IvP z<1zi21g}wYYYO{c7rpPA{7c#?-*-*EfB)uB?yT7sHu}oVdMD-rci(C;iYxyaNv zuI{m8ZR1PEcdn>6X{y*wr(3_~^x0k~>?hW>zy?wY<`9!fB+RB6iG*)xMk2wCW+W0! zX%?2th+LZeLL!btB#8qgyhyl^a3o<(;%gGRB!-YsC!s{5kq1#mBA3K3B;t739OBsN zB3+kJ_0&umaRmW2o8`y`M|`y`Oy6KJ0Vl4+j=atE`Cgaz>l zbcVo?M_WW-g*~%(1oJK@ww(Z=;ROI4BUs6_Pm+OYpFAXQpG;xeC(%KI4}#ZZ$GD6d z3yzR7hqiXGAPzB$`Xxr4W0bVDg9Y_V%%XmYQDeawQs$svVuxr1iPAr`v` zLvLA(q8B(*?x2}+h{b+VE+BGIVHh(@Bfvp;TRYop$su%6)*ZEpP)#4j{?1=+I&#dW z^iY7q>xKeAf&v^~H{7_RJvw5^A@ofC>zK`wS?Qw|FZ1tZ5p(lkfCHHZ8~Hxg0tHAU z3UCG#VA;v0ic>@=oQP1&%k&ErP(d)@DPU`9-M_E#kv()E`=xPh0BPjD=r*& zL|vZ?z4ZxEy~-4A$Aaun13fV}%G>V9A#aUclR3yf4N zumh0cMm4LtJ$Ad)CWlE6M29+G%HCrajuY$Uuv^Z9y`JpXNwu0(^J$6oe^7;%%Ck(5 zr4!RfIgc7Ev#qGp@{iQ^%-#`JL>BPcE0#0Om00^K#klmK*Z|5jFkP0Xs*q`L+E1B= z6A8#C%&P~1xc8WLf3Tt^iP%pmpTM+PHs@snbd5mNC2{XKB^|7&&ob7VKsodh#wjhl zt>HxPU!>Ha$5PxmeUyP=%uTde*1q~Q_m1}WCh4PIH#jZxUuqFED=@&}-W~01Py}>Z zo;_w0fn_q&O*B^C2UB>>FlPb1aY=hWEW%_gUcD64e-*XIY>uBr3#BdfQpRGk@xP_1 z@?9i5zRnCQ^@ey%qKZTfi3Sov5)u*$J`f#AC_~IyK4;9aYeloi9J@~928mxtB$G%X zkxC*BB@q?c_G!AXP$1hIig`zKpj7Z%q5*qOGJq)ejo7%UgpUSGY}iyv8#X!n;W$VK z8Z0fC2Fu>HK{Y`&eQW7JgJmiBEc2I}?%dJ-5v%Zm$4@YUV_?sS*;o}2;2<--dVdG$^0LwI_mFDi9#W&* z+H5KC{IA<%Qs>1UldSi9O#UVNU5tANTS>NhjsLDU8k6729+M*J4!6L*PuBNMtJ*(x z!1dr?G_5CG>UjUz6VX<~`{!J*EwbmY&+T}3X3?X*U(|lN*!!>j+ib1mXI`Dd5O7#w zxzh8~qnZ~s@h;DMT6V>HvirIrPb05{_e;F!+c3H?k{P=f+NrW0%n-R&$E#+9=q)wq znz$@tbh+uh-CLpp9(M-v(Zds^6Sq`_HIHvPo^neL8P|I)d|h@)UqTk`rqg*VZU>zW z?!X%x*ad68e|Tw0%oLX_4`uh<75ea&vB@~Sl%O5X-;pUeaz$O7T;XAy-V=y~sHw|i zKY{mMYPK=gaXJ3U+X2HnKA7RQeB0d>U%;2!u(M0j;M{Kh>SeKgfJBc&s|tMN>uS~v z_zk9u#^!&@IJS#9#ayZIHHxPU;^VRT{g@@QV_H=N()U^9eKOA;UzWPHefnVfz~=`n zAJ>anY7>)!53F-KIlyEHKJfQO6{h!244dhaRj^<-R@QiD1)Ytv_QRUQP%LOx3kUkl zP(Zg3beJ}vlYC*mM&{u?VUGHl%)80#L*@c|@}%VhPcAm_l;~w&;Wpj>b;AgY=(UIT zg{S#xFNm4p6Q=(CUl>J^U0s=1yQNq0qGI;dB($Fx=W^5nE0oDvd{A&RS~Jq zL#1>2AFe9$)pq;-`VgCj$KGbql@HW{?eo%x>8C`;S-bCZh>B_&m{!1gHp4$5iGW)O zsO)1F-MN>qgU-)n{FaP2$hez~17NH)=?O0#e-ELn#r>kCl)oTaXIB8uS8C@NQn#a6;D@~SlHNw>)gbS@~ud^woJsf_CLVC_}vG*5c(JX?aNpH?|Z^u{oj ztZ=&>WNOeQae3_Ia(GeXQ80%4&HMl-Rk$fja!HR>f*T7E6JJ{089ZbZVLvz!U_uwD z<(X6T4e}7qTZV9qdjcVez!f*Lz&j=as%!O~OyMY3#64FyL*a-!&^bMRY(A~U-*-%3 zPhN|>EnVvC~S0n#3V$Yg^- z63u63dpX`>i{jvJQokmsj3k;hW;;1R70Xc92vs9P6#>O81nL=3%)$Y*@S1GlURwAn z_q_g+zD2w#lD@?xis+P?6~7BZ%NJhXQcp!&Ue|5870LH+_V?6V%Z_LduRym(0{O`15}S-N^}f$(xQcT3#ejBQaw5AMon!;mMASIj7>@np!A1WIPq z*FJRB5Qga4P!eOX#@ZoIKp#v>wp7^@S-9YSJLsf_5^L-sRY1WfmiSC@iT3yu846?- z?q+~1AkB~>oKd}iVyKOQ66gdH5lNDdB7>8R8g&6HObzB4TmjjjOL8%LAdYVORvx4^Jqs zF%K7J$is5ny}I>b;xoSWMan1g8W`xA*C>!>z>*D=Wq^+>OqKyo?TF{#D%C`MaM^9S zL~ri;3=3V7jcm-UnlrjUwFkHZ4)p1r4t7lXZN=W=$euxGo3~7*8_8S z%`hf#UwEFMHj)iX#|<)$(X zu%o0z0x-H0I!C;f8LH$v~ALkyw7o*bl-g9F#U z4l|oLeec>m1D<_mR5Zo=+Lj(Olr;BsH6Pe7Z2F|>dpGPEQ1O{j7Gv0{q}ff?d|=xx$|#K}qwr;A6u!KS!k3p(8s%k_Mp+ppg(;&r+zyH-p5cpZe4T)`CKD0c9H2 zl*%aMK$iGKH(FH?69U4DsFADA=`##ha$CJEhsaZb&#;rkrr>K4WfgoIin@)EGIHAIXl_!ZT!B6sQ6b)f|uFj{y9NgA{ITTz% zuA;`y4$Psk0h}a07o4Ox0lAAId_|B9S7+2xQrxxy+HVx##vmFs1>X{!QWx=!;3UNf z$pkkccodQrDQ*V4S;}Qyl$|c=|33k1Nn>;KW!6m78GTCK}?YQkeMpi5zSyx2%Zb(p$q0AwstT| zkFbcY3@6iaGEv^5kx0q^PTqncCBzyo5NlXRw4;h>M+v1d@`<11GW>)|V=N@#Wdd#k zQ21$^iz!+G@7cn0X7%oPlI!pOrrD0a=Feb!_4c=_ZcAaSyA&N5$p&B3?xb($?{~H( zOYlGR7d3X{&!RE^`udEK{rm4fWsk@@Y$R;j?NgVjx?S2gewW7x_nfQNF5Vtm^B)(U z&@(dV?jajLuBxxj2?`BHVP&M!15GNUj7A(bqEyN8K5HY(snW84OH~i1u7c1Vs-eXF zddH8D7cJ_tACk{c#E(rgGd8oZe0DWC@8q#AvRvtM6jt?Vf_IJf1SYnEv_%hwtsrd? zN^Au|+k&aFpmyWUu$8gpa0a%5x{M}MV?hlklxi%Df@&`8BoNxt^l1PU$co$!PgF= zQ}AVUX9egKmWEQxi#L-#QN@QPhJut+DD`=iG8aLghX&)qhRQf_ksL65FkDcdMh2YuN%4pf^^2~246rX3`%?5&`P32 z8dp2|eX0ax?9Zi21P8UX#K7WWuu*7g<(iHD9uMmyIL^E`KuoAi4a*ZrWp!J_htwGibMH7-+L(GW_G@-@Vg%Mgi~R94RxZHPxNo84E0VL zOR#qRvq(-s`6`|)g&9IozDdYN%iPAiGLL-i9E`9 zRCK;*L7k)#=p^-Hsxjy!bs+K){TxEkRJ0Vu7lc;_0~I7i5N|7o$a+luKromd)97FY zBt;Nk8%94gr!eYZ&~AiGLAek{(L7wHh=Bs>3J3lPrh`<|Z810m(iM4nNPQq(ky>DT zl-eXL8VZz8QMv+E{KEmm!4TZ27SoDiK4Z=y@S9BMQjrIaQEdSy!r~3DQGodXF^yq9 zXehWtROr#sWQrSwYcMkMW~= zOk^e1W6(qh!r(^rm^`Y-q*6V`0$qezL0K7LdT1jgvk#eu)rZ$dfUG$OqC8Uz4 z1)v@!d7v6-DRop$sj2L5b7bdX8U6M>H+~&q?}}8#YlldC*R_DWW+

jP34v|1Z46dR{%7*fu3CA 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 z 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

duD_Gazs$$sw`12NJo3Bj$41O1xQcE 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 literal 0 HcmV?d00001 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<L+dWLf5TXnXA~6i9(jeV3Ff<||GNgh?NJvNxB_h&FcZzh15<{aRNJvPF zgn~#*e|tvn`+45u``+L2J3jw9_uA`R*WPn&U|i>UU6-QB@UZ^~$ZMOYpE+qc=O0{I zZn`psIJ9hjcZ-t9)4?dn7gkJhmy%@rCv@>0t&*ICTj zeoWw5*4e)0>Gs+2K&b4`*=meJjKaz0z}ewg;E_w<@xL)8AQvCoX|UV+yB_0IT)ved}>d>+$;7+55BKUldL(&wiX8A1Uk{ zW}WR`J=?n!crajj_Eq8RDDYSz@Ytt(EO6EGbhY(tclP#~7OVN$Y*r&dsv3-%d4!MHCZ_e+O0ebw<2mAd_!GNuxl<+DG++9t%(XS z77*MK&}$_X5O{15Tt)Zzp7pG0@C$Nj^Wa9_y#zXwl57B$=GMK+wjuT!C-1cTr zNt{-uc#C0OlBPqq1O*5bc|OLKTEq!uinh7j&}N}eCh(U6dALXe7tu7cf6{|q{>yPHQ2cr4HaEx-yAC*2X9qI-}XUr zN*PE8SM^{*n6b$?f}ZU{SSD{Rx?Lyt*JIcYEQgM!8sZbMr06Heju?+6T#scEI?=sLX(n`pfi)3;oOdKZCKb zf0(2Qz-){Ut%-HTfdU9A3dsKkLjPro#fARE{6B$08Z@aI?Mblouu!G=K~ zWqc?+-jxS(ox>^?283h~Qsj^jSWYBt3em2w!MJvx<{z*b$@!OA`4I6>`W}CzMtcT~ zH7pb}1G|7|ObE@39h``QaY7!(yVBA~`^Bij<`FdN962>(8mcszFe@w=g#({Qc}BOG z@WlUuLEbkvbnYErC+-;VQG=3mw(D3N6&xo1h0tl* zK62%<>^sCYMuWZNx60b8(ZO`LuHKm87pfx|AkQ_b>?1dV7rGDKw6f+&k+R$5O=%>D z%Jg;ShzMsSwETaD@)Z9P{%=B-zhZ#!7-|71W4u3Ig@Q&zy0l~?tX z8xioPsdBKAu*fu=BK4p7yI_^7f96x)b&Bcx(!!nNBMU`@ZzTT2QA?0Wh5|pV6qc&K zdK)VRsI~e{41cMfSZb7QE}&k*QaN!{4J=gyo;uYIR)L+jzL}D&skz_YsU}hdw#4&? zIu3T7I8-L&7KdB|Yt>ve#%6gXMV1tJ2q164pl{xF?ie)D!LP(eTG&}X;cGotSB*yC zBt*ZBVc3imMf9D2BsspT=+G_(pVri8f$2m`(zkl}eX6fZZ*qPjr{RfIO?tdqcr3jX zK`{P>)Da)jc{@mI;>AZt{JxIc-cl3$0*;n-omN++(%1BJ%@l_!8JKmv#$M6K3at@` zhfqBRy!P8BQYQ2-iDBe^O7rac#qmPmDivorK`f9j_r+rsLTs%_=|A4%Z!~5PB!hI! zRHD_5*&q5K6~2uH{&+|{X5?C?_;V{+%85l_+==+Xi=IU*a}$iUfZmHxBcp(mhH8Sn zhHNjNwbkO|Ll-;ZkTOLJS_6ZF-Pw2KXb{s48LW_+ENAIf?Utou9cq;U6D!JQx4?!O_TRv7gtTa27I-I}8~ zDWZd`;q3{Pij$-G#I0;E?=`*>ly2!Y4Vsr!Y<|-G<3k`b#4)fZ^BK8UZE8q<_T)@e zQ68GAY>Azz*y|x!CQ1R&310SJ#L_Wi3BWzr}mAUpp)NedkB!?Ej+bQFkLO#9gn8b zG;eV>m@i6=d`?16&O5AeT5>zLAP{}nCkCiVcS*kf`gH(1GvfI~30IuoMx2(Y=Q2?S zwJ#?e8~UqiZ4lKZ_|zGE-QWIF#FBJG5m1ZCPZ;WUw}cLs5f}>eo`MxFx7cT!6I+zA zvmC!r&pb*+JJX5Pq1S#{O8fl0cdp6E^^N{P9eH(Epu@M<6^IpMjIls3+gZU2ke6dl ztn~`7J0sB^T)$q3&5Az|o~yG);|VG5awuBO(&eHc{RjuR=zCnqPF5k1nZWX8j5tHZTV zV#pTqeB%5*iTY2fLRq5AH5@;wo=&k8KWiy)LGv$(J#fipK73ved6Ha{;72$*(BPr1 z*O8uad|K+&Qs985Sz241QS{utEC)3by2G=rcvDm#k5CIPA_DakhY|}_+H%?`5Q;+! z>}U$gHY9K;Hm=x^*m|n5K8SKi$$l&&^ZL5ck*J9@ym0&SY%33YGwv3Ehq!F^@V%Hx3Kw%jIAqA%Bt#v2B*t4zN(bQ|sh@N73 z=&36f6l|w!yO>#A>X(a8Dd@+^wXbS14K27qQ&6`r@j!QER8HTFTi@5u!FzgQMzkbWZQ@MIE`xNZ`7s#M~k z?NkQ)sDhg=nY6W4Us_pYDq$w27pm+G*6GF#4y;~Z`_=R#bc1<15wzS3xuJ5??3uV^20|-Z0LsfKs zT~%CSuVYETJWXg@PPnGA-eoJa&mA%xcCh&zHR4JpVy|Jl|>+2 z9vrpKQ#rcaVFZ12x)czka)LiYD%%_o6eYkuLhuusd7C)4G~1hI;Y5CZ^#6YpVNF zl$K{%I@j;PBeR$)G$M|{l2pneDi+YS{|RdU3)<*LjyS)1mVk`yb1LHVj5_Czbd74! zpr`cI4&sB`H6`7Dpw0L_70(d)&O_jfQ>*Z9B3@zg93RG7=6*>Lkx&PbE`-Nm4_f86Yf8B<0;Lp(w(Z1=On;DgkNTJLNnZFDI{ z*R8(88fDTKr5PQWLn68D%G0ZglD_YW-JqGu(0Oo&-jV*Pq~W?#RV%(YMKms&{Tn@% z<0A9C%<57&Il(#Bt~b`cY5y|g^5>!pfuz|9a~na;3Z?RLS3k}T_pzRLJQu{rZI_#M zS%fq+l@O(gNLjh##Ae(;SduX3jEX-CxOvk$Sd)KF7_olSswm{e-NRCML}=qJ3rRlkl%aEk~;{Z4VXLnxea7{I|Qmr7?s|kv65a zp;!?q)(#1>)b8Sh7}lK4cv=iN)Fo1*8DFg`=UXzg6b0q%%6nB9{C zZ4tr}xfiVVe<*l$%kdq0*vu7Ay?%V5qLM#Aa3f$encQ#;SIgBOO~I3NCPOvsk3jk@jyNKx8}II-BzQTC4TM z?ie+8JY|jzZE>MYN3GUNn@2}<X;R2JO~bYPN(xFDMnu&#SOT8-##ik zi+9I*eSH`bMeWpnL9o$|mm{NqUxT2oR z4l3KV-^Df~kwVO)fL=h6_<8Yf3>!!Y?|gbAe_K zTw~CWE&}Q~aaXq%^_nftJEYA;#_1jkWdAfYloZ}USz6+Y&=-%fv@e&5C)T{Uwd4PQ znJ1k8=MOHFd+=Lbt<}y!S-&Kqahef-12dlRt%*`1FAF2+gIj(c2ez$`9p$6%#azi+ z?91`(;aZr?d(U%1r#I|i#`9TA+HtNZGO z>(Zj1olh2RTSt6!`YpQAHxhAMkW4cm8}2BpeMA)V^ijMFY&TOo-w(a4CO_d4#H>9m zdmz4btrcHA^KVE-^ysot-l|E%v-|SB({a87{M{{{PVRg4)A}|JlRTd_1;w{s zsW&gvWoMz_HZDgO#p!g}tq@)6>hXEu)wFuAlJx8seLm@nej=iOj=^V7Tq6u*oTQma%lBi zk@}jvVEx>ikW;XfO(?SvAHw{a|P;c*ZD0ASDC}!vD+U#xZ z?A7EQ3!1xJ12&z%#SMfpJ6$bhme!{isea$wa^ZsZes?5(O+CXMEWV|BSG){UG9}A93di$+V$gxzB5*{bqvhlhY}~z*j!6TX&lYmQMCQdwbuIz1mRJ zan!H4(F87}DJ>5BEInB2+| z-nD&mQJYvnSx)j{k(V#*yV*^>RcXCiXH%F$aGvqk06QDX_^|7$R+si!pnsT#LN6KM zf0%ootyhIf`r5g2h3N7Qn*xZiVP)3Qm#qs}_gVSg{)=y18nkS2p`SN4-d&G{O*!(` z9+ggBfI%8Glz&CNOB?zVGTt@3o%oC$(Wpk#E}OQM=|O~OzZ`$Qdm?engG+ z>GA|we5g4rr`ZP~kq(=uN8ELpiKF7dnk#XkLLUm>!kBd8 zT}!^$w6=0#qexh&zQnie0KnyrKM%MGTk|l;3k_vPd&6_@A`)P?I3ZT4+Shn4{UN(a ze5>?g#E}ap5{HL2T@$1O*7AjBSn0YumV^S=tkD2vPnu|lD^0}rlzDG=dq$lhJvp3M2ZHghm{gxK5No+6O39-S z#6AKs@NodK10a?T%K>7u=}h4XFd(*!6^joAVvn$5@jxsctgHh#6nDb6!OAL+uq(rg zaUuSSS>eQXf!I^5SR+_jcpO%242TKg#C(C6I#%q~zhXat7$X9^vSzSN+?BACdAMa@ zGgtnVmB!r~qPzzfkv}12-h)MDOo1(0Ij%8p1dzUz>)7X29lY z5oDR4_+e`>NRfu};8SA`D=vhT8V%a6mK?%@XfL^a1xZt`+^&vI4?U15jjfD>rGvBa zwx1v7giET7{*$CiQ+R*mCN5u<2JP}EpCkUfN1mz1IL^{XvGn7V9>b7diU&AvUBs0H z$glg;&wh`^)&wxuQq>Nx!5|U7{n7}jC{K5gc980s>q`G)DVCS@yZAk!82c*cbA9c4 z8>S&XVo^SiG#JBuKQVvEGyU*YWk_fw?en#n!kC3tHkyc>+jSogB>ZU!cVlHKcgsDW zHLT|0xg{u4?pAy1fcU&yf-2>1JuYT5vP#~OG&n}x!@$03K@oT0qo{7zKp0*_HJQOeiEL}qQ!p0lM zzy`E`7UM<&)(ItIDL_8mM_|nr^fQpGpe^~hbpv)hO@8QaeLUW7tfh>49q(G55{9?RdYj{*FnY4UEsH*`4w{KDBX)C^De5o!ZfiX;-iUH~(LF-{>f zdqM|4w|B1oo$4=xS3+);4=ZoL3ttTV5K^4f(oadgtyxinXL?ml&DxQ#Str+~jyCDB zL&1(T>9ab6#d<18r!?`iBm*P1!i1q8lv1A&`fk9dt$_BLaH|zqG4nNlJhP6br3>fF z-;q9vqBAg}FN_)bv37Oxy1rk8qROl^Ly~HaW_zu^Z^jXAmLKyO1NxeFmE2gYkSd2= zmePyC5gM9^;`}w0KyvC_PJLy93k8Y(=~t{uxnVT=S`$4hG|$bHl`nK9`b%518)<0> z=B8Hb=4mlHLLlmihI{fJkeuhScU9%=Hnd;NSwr}WJ!p;gZhJrqpW{&tP-!K5K=>~j z8m#h`tZ5Hdm3Sbv3-Su9CAE6;+J)ulMvV6CC%lcs3X9OG?`8y<`C|AgTHI8{8yg(d8pxEc}%?P%fIp_G&+CffoREJ(T>m$ zC+-m|b0u>ehrUvr6ABN*&*hS5=2S$8#-G?+Um?jQX9EKjFyO%sGP5iC1E@y`JqY!Q zsRze8g!@jbw%x&CU|_7{8W?=V4r0JS2@Hm@16?pcfI$a#Kn(`^U{Hh0`8d{L3I=(& zoR4GHDaD!TERXrUAGFYeKU{NDLxz};?K%z4m&;4fpOa^%RYcUpU-|+wljd(kyd9u; zBWHQKe{?^_JB!}Suce7KKMQTH>XPxOrHL^=11+QK0=_C*kPm5NsB$w@5K)^jq{Ku9#CiJ8vHK!A{72!ZL(k-K&IpsG2iAP()P;@5a{%f?(q>k@H8 zxEJt_WmL3Sh#!XU%?SohG5)+Nccv|xb~^VmV2UZA3@thBbQn@PDeqZx0PLH|i5=3L zb^eZbwt;E0Q?p84?szmZuyl{^t;5~nOSeY%N^<&vgERc8&}FY-u#5ayTMH{yuY37^ zi!mlGQ{n`3<9?R!B=C(SweRDE#p|%bO_Mm`?~YjE+Pc*!+XcOp6_>-w9W@cRV&slw z^!-E56e%P4VcJIt|EdYaX_ovb^rhg7z~0SFF-ztBjX%x-ykG!FpfmiP68u6+eo_r7 zW4h(*`YC%`YLt^XeNK~<$+6_uShW9%Q7a<@2zj5cxT%gd`GP%7}XKE%M++;i`#Q?VcT zMP6B!aQ{J!)QFt5H1GIGpM;OP#E7TR3DjxTHVxRlP3H<9p{X*QY61g2FCw>zzFY%t z4JM~Nq$C3+%45DLEd|&aP^WLUQGeL3=;-vP{p~qFBikhSn%56u`>G&T{I9r8{J(Hq zY}-ouJ(CQXF!ZHd_kk`gh*fd12sA7;62-2$dVh>3B~rOxRp>&&PW_Jr3+mBZ=`SJm zo;7Mq3pq;*V%n7@X;nuHdfR$W;NwI6^eGX_{VJ;|C>2Tb#aV?B*~C;xy*nW10EQWS z{6jyzk2>S`OuX=%#F=OQ@qTE%eIg;Mf*r55gk#EE{X|0NuyM!-qH=qJIW)$^Nbrn};~GLkQfWT51vKo76}v zX0Yc;(v*l>{VF9XD4FYNwrmf?sSE7T{jAab9py_oiO9;NJZ%x`*QpUh!Wi{u5`Eho zH^+jEkd@JSR1c_JJ*j}tk|s6DK86QiT4ZI|KX5A%ixhJj{w)hagR7XmXo+6&wo!5R zbsDFcyCD{YBck|>Xt3dZrA$bpFC5QMPt#>tUV|jHi6s9vdR-v;lxRebsh7K;!Q&Dv zO#4=t>^B;xEQgRshTj%42fw7veD;t15p;PM+UwTWcy1^#xI|u|i2JLw#@SKC;V~;q z%nwxTkL<9+<8D8w*J7&-|3@6}?cFb!f=+6I(9*dRyLqErw@W$JCZZ2icR4I13%VN4D#11XvDZx;zg>GG4 zKSOif3~J*1oi=lNRU$qRe>WeG5-Q6_ww0e<%0s;JVs3lFGRW5e&kK@CE9GM_IGRA< zs`V>BNSnx!J&1$HuD;`*158b{F33G={g)Y2pZT;kzR*Jc2QTl-PZ#NE>Vg8WI78n? zwyzlxm(H)+-oD}7@=W^qQ0OE111i0a^B*Pota`_(s?FLO2kN~G2)3?f|D6rmVwR>8#BCQx&r-yH+|+BFGDTg zzuhWtLGxDPd)kM9?|VFIG*c&xes_%geQz^$7S%L_jT9~0F+Gw#dIq2t&h8@JEx(45 zjp?^3gr}%@=2g851D2BRZIXS*dfOl0&OG1iH_+{u+4eP`lze|teB;%R`wo`2Gmt+~ zpb#Qj?E2$nOBbyp&aq>?v18BX%j;3MwnwQhX>e&|VNQNnSZoh7VoD(&eeZpDzUp~l zYE3S^fpPWy`Ln|xmmMtEwr}iJU<25Zh22@xO#Gf&_3Vwkjent*|Aw+~EG&fhhxK2O zy@KIt+H zeZMxc&uBw#v=rUv1a;Ow%uV;4D4^-`sb%sl8*fNl%OY3jc*@>2a z%k!Qsm9;L4bH{OEvv~FBk^lm?H~tG90s{M8oE$3 zOcQ|Ew-qmaZ$Qod#5+JK1nXsigAnuxoGxK%;#AIG$5LyOZCx&Sk2$6AdD6?;Ms(Yp zCG}(_jv&d0kl&sJx>6QOHw7O5Aj))=psO!57Al8&x33x%22hkYpk!Bc75z_}ER@|O zpfBBci7y~koY-WqpKND+InHz4I&fsvk|U~NOjCi(&1Y!Pn1o)#OMHonU?0JxHr86jsfo7p=e-f;zO?p4BJ3o61hQ&EtQjdNQ{0 z{vy$xnq~bC7io6VnyY?ii^ZP=sA5C<-uEtgj?5*H^kSxL*52T4R%DTo!7U{ozN`}6 zrAB6WEE#46_>rzT&B!>;A-BJxX2ihi#<#x6pzhQx>32B$ULviz;&*nZ)Ip#tCfXsY z8NYJ$ZNf}X_gfVi>X)YsEB=WaXDETY;Mc1!$=b&NlJ#P`@m=d*iSCnRe>m}+Ip zGC@JzU5?OelE68akRi`vASgpS*jziuAmviWB^vBRpiD)0<>{ZF;a^X<vys$;8i=yuD@KxL?BnhNedXzHW7JMY_FKZhAA+^ckd*u=!e|( zb3x~fwso60q@1Ohec)arWa-XinVK?biZRTJ!&De|tBu9hz|sSr>GQG- zUJ_^8;(>)M=!EjTstmG`<0Qb<^5Yr!T9_IL$cQhW#+OSE1g6ikim^t22sG?hSPh>` zp1-?jI&Qq}(!}A-x$bm2<#>veBpL{5t~m=3Kg(x9FJnF~wU#Umc&NDc)?5+^ye}SD z0MJh}z3z=AOSA47wLc@kZEOALIn;DX1T5h!{YSp1!Xgt^G?l}f=C7zQ(Liu>6;6~M zz1#*wbCw1Ym0cSvu%g0&(H`LQpJeelmFPT{ne=RLy0mwo<$sC|M9!j14@JeY1CkP6S z6$1!=k^R1*XhXqhh95^vDL6OD`pr!7F7Z=Ac1`@W%WZW8Tk5=-1TEwyPWXj%u@^u6 zV*GWZ&6Z-t3}1#~r634HKUhof;9_S;wp&)2zkniMMz$~oghxyHLTCw5w5f)aDa{jhB=_A9%I$sedPG*z zSQ(wvP-}cd`#-Z+v9tGDV;lV;qpFF`LpnEXNzH>b(6u4CcM10W@W;qiY4b19s?j#i zQi6u5YIdp|-j{7B&R`c8NcbRXud4$BW&Fz&^Oc?`>z7B*&QehrS@9tQJ|rB znc_5Dd3kD5BFHW`3W@aLeOEVn^yTF}VosvYbc6OA^C$nzZrm>D)Lv_NWEH!C7H4b4h|TuSei42D7qO1|iSGsX z`)D?)y;HD*AF%xi>>v$0py1v=I0pt9vCjI50^Ivd6kw1Q`#}E#E9P@ zI*np;KNLAc6D?fuNj_(gh%a6iCo9W&&QSS@NKTDs!^^scjp7A#pQk|afrs&BfL@S zR#+Pt6fp{)(n^(df8@Z$(X>)8mu}!;s}n+=`E91+6$H4F#wr)_vnM`uit(;dFeC?` zt7cy*9=5_^#f%8H(F9#9uqjT6A%Z;JaEm_(dx2yfgSq6`oA}s*MSG^P!QA5~H$nU3 zn6ZEc{X#4@rWi922#PEt4o?f6Pjw_lblkq%h+r@9De~G+=wh=j~pkzAc^Q49VMrUEW^6Ox3tUHQ^v`ml6{>eBErN;cd<_If>BCx zxMpp8r?!aOOC(Z_+YD>!O5K2aCEHkFOb|*6PJ-e7WP-c3+FFt!CqZbUO7mn0Ow?H!r{Ds`LDrc46LZ(Z!F5 zq0L@bRJ2+uMzkE1wGdzQfOY z*oZ*J>bMTYK)nTS^@Q*4p$SF<k3Q%{UwTXaw6Ht$cxW8efH5&Xer$gDvPeV(8 zdn+A!H$;PGzFuVGlNg5ln1^4OfDb#xHn8xOc=hXaJ&9#0`+iT&A7V3>NVO#>e>+xw z=Dz!{I&xIRtw(R!11TD&F)#QvmOJlkZlZTKoxg-s+=%sCGzD}1Z@-*^&cQ{v5B;S9 z#HEdTCD8KsS}U`w$9+g&0#w%0ehVT!aJ~GV(5$dXT%&KH^Fp4`CtL&nj`ky3c(vqv z+sng4Qc42ugT{q#wOr3{R^ok@HprrGhsb8`3V*w-{2kt?g0evRgv3@ueo~uI8_uxh zJEGqZe#Rt9lJcd_%>?aU{Z@ugsfOuE@aY|qrEP1Ck4XQZQn-|ZcbX)-=+t@#n1J>R zd5au(j^s*xc;%p%xT&iowZ2hVKY=$Y*q)gC_$7mG#&Zt)#sQCUMz4|%QzmL$)8 z-=CYBjM;tE;O6rFJaul;iOIl2mi=X(1vOiIkp=r>I~%x#!z9+CRx z{~4zKI&55ve7b&6{xfn&bW?v%wR`W;&3#qARPRK&xGK3>(A}E~X9FF;Yc5LtY9#=^ zr8#0JX&j@ zgtgPYqVI_p8O;InZ8G_D(z{O5uvzmL8;V|mFEYZuJLD2^XqNTlhCV|pb`QJ#hDAdAH4gZA;MJh6(!i5 zUCXPJg`Fu~2YTtzzwSEx!iG@`Ghn-1dmB?HyEUq+2n!J1H8s?m~)gp7Y z4!X)nr&7s~@ij?t2ud&-x;8+oUXK5rl~HS+=!tobidMf7`w|DiN&WrPrZvoi|dnF0wyHI z?m=%YzPJ+~Q5Y5B`MmL3exj2ZwU%>Au-%MEIkC==WtafpVrT_xEML{!%kjRlz?bHY z#VsJ<+sic*`&N@Xh^bNXt*4bA0;)hu^+V9fFWN40)Wz(h)AY1WjYHHLe(a5M8V zys0;!<}7hqhAuFUeU0O1(p?3OtWybCehOsd_1&2YDvCVNFz?Bqx__^=9p%$FBF>Qn z6{vA}6?d=QU@X)_=hcUns_p=i@2Rmvkx3JhpL@lvO71C}@fh3BnsAMU7L-F)GfYza zhpAt~1wFMjHag#}r3C=e%X{eHr)vcS544j(?hH2fB=%mr(OBq?4kh(_@aWJ#gBUQV zyoUxxZovI{<_y`Z#zm@4mNJbbY1Bnc@O*b`Z`AKYia&G@9m*I=OS;&7zL9GwnI9n% zRnh91bj5}ua^OZ=u|&%X=-sjPJ%kr?sB;aFk3do~>miztG4@|e?9oQrl+@9dvx*{6 zq&PJHp0&5r@yj4^79m3tRTd%`xG2U*REeCYUJDL-z!ftRzOSZdKVgoR6*VZzm)79% zwjb#g&C9XRt<`aQfvoLAij5!>7b4f=BPD#Ci$6y0dg$tPQF%oGn0_#?(6+iifMV3b zF_ov7fb@+DizA#8Wz`p&c5<;eg|``M&JDf4XP#}(si$k)r%t)UGM-y#`874?Ce;!wQCqXQKj!Z^_p-KTR5X5T;rtExQ{5R zp9qvuPM}6x8FG9OPi>u}PGi#qhLn$^KBJj?ka{B5y?poxQYbi#8!9LPEk4Tg(5>VS zzO)Bi>6jr|OgK?MZ(ysmz?Weej2DPib9LVB)#_9-1z!@O4o&TYyH?s(t7RsDIuka` z?Ft}qglm55)Xd6k=|$2y!czy|09egFS5H)*pU3!cXXk&$Xs~K&9Nt&{7_533n=0Rj z6v7tNc*Zl^CZL8lMU|KVg=iO1uAwr`)t;RYnT2g73D};C zTgBf)|5rHK`cYEM{qntb+dv37a@~VLbTTJ)W4&O?MZ7#UP zuw2zpQ8smaq~n>i?h)7kS{^*?3#3k<0{-NO>?y?{f$(BE1(dW;6{{KoR;_di1|2>1 z%%p#kBv0%QdW8K8khQ1D$`#&l{yM3vn-usw0sq%hUwTc%RkUYwk^^vM& z4|1z$J~{%TvFVWYt8Upc0t`Us2VX(p`oWl~cZh#h@t#l=iJ;&;>)2VPx(HJ-l$9wo z%nrTj?ryi=u%*yt(ZQ&6a#_A_?i`6>jvr9GBnD@1h_J#?`2 zJAF%~%1XTvw=kSmTOk)Xy~J^DPcDA4l^?Yh`2tD1_E2bqT!g{5PgTjDvo7#P+Z^<2 z3h%g!5<@HTYA#BOdQbcLq=JC!FGQa$wOq);@R!aCe}aItCrl9^xZFmTd+zhv%f7w- zMAv1gW$)N6Es|-?-=;3mG(W`pwn$aYET+&n*3b58O5)Fne0n@y!MNUus~Ce;qGgE} zV&ej{j+}&~U0R&(B1sX+Pq;49PBC|L3~Lno2vX5bF?M(GzWu$!wtjD5|BKNGYT)On zBIQ=(3&pip9@+G>O*h_j~y_F=E8L*^0jo(+CUdg8f_)4_^L|FvJIb>xS29dBfgm}>KkQDf&eKC0v2 z9KI`!T||Ui{<=-X0r*_q)`d2l=v~FBdm8(@pY_XIQrQTt6LpNk2f}XkD+~P~su}FK ze6&}Uw?Ec`e>C~&%Ozil`k0H&t;U$wUOQez3LzZELX&lQ4a07V+WC32-3dJ%8k2zk zdrThxjTh}hY3kw>@89?3eFe7;3Q4LjG;FR^^@ea5ZVxgxtgdXjzHjkgTRE+BX?yGC zu^%y$v2JsHzv2e?@8|UN%79|O>erdB$!KI)VWGi}_Am1``|3jb>WOlT+UefyYliN^ zzv0PI3`dW|N-2#r$C$o35cCyC9xA4C+%;4++|SFMSjcp5Ny$(*$n7tF>zM9IirP*4IN~RYNMFO3HJ*|Q+Ykd31TUJ6xH@=NK zs3<+yZqvH(`-mE6E@OzGA1tF~BYrrZYCp_Jo?Kkq9{ruPKvr0xRHz_+-1eL1k+jcg z-RN4{M=}ZaZFPIlCOsggUU`x%xi?#3e<}GEdLlwxePku2oeVyp1h2RZufR9d67mt> zTGXa&;j+8%p*f_EcBJU6o2{@Ma~ooqmHC2Tb9K+H{8v}(uYnUHX4#po&1*$D>NEbm z%V~SZkM?hHEzc}&zu7xZ|D?w?aC>nZi*DcG8pxd5-nKv9&&=9p(p-GKFT0~F`L%Wb z_$_|rk2u}f0n5qlZ4yP(y`Lu}C&L*l8*-PNm6Nz$XrG>L>+FCm$((o94>!bDvVN)t zZXEbPUkb|Z>x7)HD*u!`NWi;A927-_D#k++lq%};zAuD2fQ#=803wHa%`wN$2@pT1aR-*i+R`=8mxiNOd95}(6tE@ z1_W8^VDSd%D+Wn(kZ9$0rT9v)OWoeQSm3|_ums{mOGAQazY;HWnIlHI9jAomrp3Oy zKu?Yxd0rjgDwdu0+T&+>^Qc%>T4AzhdbE@zkxFr($fTBos&paiT;?IlQxqD9DsLY2 zwH3cWkNa17D`t@G`0_ob3R&1r2)a$SB8cC$%!AjAH;BM{a!e@MOL2DWzL6d0n|BDlQ2m&)CcgOkA@a}a%d|Sj-Zpx<6%g3n9E~aVp?1aDds7;P4_EGOeI`_}EYMiU{n zxF`yzt@f_22b+&gkWsyUm<8J^Z&m)n>x<2LZq-JzoV3HRt=rjBro3#RtU%*)6$u`> zZs_f-jeN@h*LfakZfkw0Izs{FdEa?iL^zsrBP=q(Zh<}}StkxW^WG=o2C5FFz2;U6 zwkeIEgm7~aJo8?SoZ^HI3vL-FOPRo(<04snooM0ba9WdUGvrWGoYo1aOIT!x-2x4; zL*p9SJ24_|kw|0@RtuHV2#OANSglIrEuba(N9#&lq)_P+PD{&{^TW$)e+9^D9CfU$ zaa1egem*4S^T>bZ|ER9_;^xyip;l&p<_&GFo34A2L%{-QQb0ydgWvJ^H|gr z@zalJH;Fo;m3PLy8m&Ie*DrH?YNTM!Q2PoVr|Rpr7+(=&=`qmKkork*{m#5pp_%fK z8-uj8R!`2*h3@fJ%Gd9#N*PHPmRgq%elnFlm-I~Nojsj2Gj?9spUyn&S@)1zu?Nzo z%Qz>m%7c~v;;?Dejg`BC7gY+lDC935NN;hftc$hiSN_#zjRz7sWe)g$yPxsKL8`AAN zX<*(2%wJCq6eYjNqILb|YO-@wG;SX3h>S-KLCw zaTBs*;ga->uX$v1^XuTl<{Q$5`v%KBF)FjW#;eKSwJx$Nobw+uFR+=s>WMy*!jbc) zuRs1vIET#OkjD|eRvw+-tXh3D12!I7V)(YFaKjgTTuRrvLYdw|^1#Nw(L(J9;ZMnX zgf~L+NiVk-JF)(d@ADaCd-|liY9lX{vh8|rYa3(ZtZoQD?XPL@V`57In+rkTugqP1bvx_BtDd<(8V|3Yh#1~HWwTxO zIHqi}*!VTYAKOYgC?lsytOQ=*K>fg%NLms1`jS(&#bYv$pxbneH-nqR3Qvdh@qOtA zUlWWZ39r9+Mlx6$)J>Oth^BAwD*A_9VRDzJ3-(w%}xry|lFQc8Ds zE}bH!G^m6kp&%Xm%%cAO_lx^^KF_;r&s^usd}9ap%$#cyohZALTytv0Xjw{?8|{!Z zd;G_a{m4rN=L?Y`SOHm2#b`JGG)NoW;+_bfG`aEMtxQbW>h-7?7Q}-prhQT$Jv8h7 z2x9Xxm;WgLdd6$vP^*lZMtJNwx93NG$bS=T>yeY!%}T>pyH9RyPis9K`RO<$CrB>nxGh26R9#-5 z01PwgZXNGxGX$}Wc%Z8e6P=)doX|4%bds?O*-SV2X_4>(Tb-7bdA6_{l29k>YBD-yCD^Mc&u+VSsUZy!!lm)vn^7~%NjM#xKkR^^0 zF5v9;PJ42wetKyDwi3NP(1y`*@-~EcW~rZ*(hXs^8o)YLO8m4z8d14o&1g%jlY_T1 zvEC+Ov(CrgW8AuHu?RBnV$9Z9WFVFqr^KcbBfVMDx z9W~bu-~A?(bz|vsj^d`3iW5WR10H%Ok|e|Z_ZQK!_JSd2Tm|$)6qbV60#vZDlqvjm zTt2FnjA*F5lHDzLjPz)uae3Z?0uNN-9jY+;eNwRdzW;3HYz+*@5Tb;RzU8|b3Sz!a zi^1L=KdHP0`XafHN0RhrUko4IdrtFn_F}aw!!S7{sCv!v|X1Ex-! zft5$p?$Rm(=!VowA~|3vMD7{vb8BlWC+ixLL&I$S#Evem`#$cRk}C4w3!qO!eJ2tP zk=^+e@1Yw~Es10Uk3@AJ_PM#WlGWjftZbgPrV$7HI-!8Q-yUZjnkK$!{lA_T6>;uG zA1w58#pH;H8Gl`2tr8pia@sOIEwJx&u)vfU?B~<^u|vtk!e#j-c$6aOhJH&Ta1h!H z%dQ9-8tc27bMtU!i5>Ud_RpW*Jmj>Haj`wIKyW8Z=o*L}cir|+L4yi9djZrU*0(F? z4a=#w+}y;3DkJ)8o`*|*sc@5l6gK-Q&4xCz0!nHkL6ikD<%$Rm_=Y7CKrH6eU6q9n+H)NZtZMykBW>=yVZgRL1NYBzFN< zgt4FapYiK?^*>`eHV#xbl(|-jIjQq?V}PEMeMgz(UL4L375*T#-|9C@Y19B^=R-Jb6; z&oDsluKryuWQiX+-;b>!_q~k2M#z#Va()Io=w(4WgT$Mzrw??C?#1}@lJ8Ef~wWCCEkCY1*2L`vWD%CRGjNdE8G z>8P+0`+LD}b)6Ue&jd77@kGIUeCp*A#YdX00ovK|KA7yn`N zwnxK77$pVJ>0V!)Iq=$*1fvpw+wDb{Ln(wrfCKgQ1?}JSL3_=R9!YCWG{F;ET1?gUum6(Fgx-Odrr=J-fu{vu`3PgxQ6o%-wi1#p+k&;1VZ?-urLIfm#ZYG!;{VB4yZY~ zf-yZDDdZVuFYvgh#JA|6wUV2k6mmh7(pSh5!mrVqD%*YhDEZ+NyZp85SG)dPF0mSq zVao)ICwjO0L3WVE+LvZDo?MpLPc;3NGRRfY_A8N7aUsocp&hEXTfT)|qs;z;F>-2k zcg7z7N_c^h{sID$S#?-x(9$E?S{b@u5p!}% z$8k#Q>Y}B^n_J1fn&6baC^0O$O{6hWF@5b?mU}f*p&5?MzVXp+b;l+*03Rx@*z$Xx zcBQ0=w(Tj_SM`ys(d(Zo9anQs4_wtpoa+9sAJU>VoZlRUdu{IyI=_M0Cb=(`OSEgc zNIYA_Wywogw7&YB<#SQ9Xw6Gruq5~c-$ipVc3CjAg>9oz-;{}H12m8#8bH~g-{Q{P z)j#Xte$zOpmSJ0Mc;wdQFiU2~Y08=weXqFnwuWN*@lx~^N2wkLcY)E#_UIh`+Y(x7 zN*}8gkB3vsUGLQ{46wd`OAel1#xU&BQF@|O1_yKhE|;UD?6+sTY~8xfKg~Bj`lRn;dT|FS zs=^PGE5*6)cc+eY#;Dcl^QQMHckHng2KfBjsV;o=wsp-`_o2rMJZjr_$B>i?mS8)H zV~YR7Ce%ik4Ecp$tT6rdEgf~Mf-!74HYjav-i#XAa0KkiAccFU;0F(A=qe5Aa#`K+ z-;d;eTf)plG0JqlGQS#HX8OXrD|&&oO)?#9b6%C-O%zp9b77DVd`eWK%EvkE8;+#i zzl~;Fi+03k8C0&pBXc}Ihc9&{kY8c0Q=|rDBz(i4826XAJJ$53RL>Gl*)$$B_76QE zInuEYs?u;SIF<^)+^(2GGA&qA+zq|Lohe7_RBTC{A2jd6++Lx7LGojxg2*>J*8~Ue zj?PHK2e7r99>nC=DNlW7Ny9;&2va{GI^-o5?oxkI!gAIG2ujmp8B z@Vhfe4h2gpf5T5Hwqz}Y*O{Vu?#C^>K5}Od6H`^YH-zz=b0fr&b^r`#1%@28Ve)#C zx!8Lg=EUPYJ~za+f0uelZ;B9%WJT+CweE=WhWHS^R7VLlv?}S%h<{v8u#fITNfUN2 zPv1EG@5S)~yCgrDYikFwww*pp1{UNu&`mF>KX{5ns${+Ah;FZ^+o1v zk-hpdBNCS+PC=oA|L$5xWrK>F;_lUWD}5#=BXt^jCcu1G9JLWeptt~b;Gia|C5h3HSD2rqSDu_S zGn|ya0=@lHZv=0XX5A+DKMcN%*7-I257T_(D83h~drFdJ5^9U+2m6FSvTj>_yC+px zpJ#2ARyC!lvuBBJsBFh;T9BOdaVV*AHVW-f+hF)f^w^Va<>Mzs1uK?;1?aUX0wskX zHC$@Drcm^QGvd1)*>#6a?Se09iWNx4QZy6nEmQ?(lQ686T9mI9allZlt#}PphDV|+ zB$e%;jhP8kl<8BA2uERNMgcy?60dXAu@v_rcrqy{pUKAtj?-{O97}Y2d6c?-MR|8V zMkj%ikR^9T4X2%w!i*_W-kN-VR?P*SI=)lxBFl{do!mnHpN1+5cF_St zlvgNvmo!1E8YUrLMflpYV1wWWo`=nZoTjHGO>Sx-e8rAeH+}H32<-rJHGq=R#F~@HtuM^%sAB!Dbl#x znEGTk>k10&M^a?yt)<(G9Wv!FowMdkj)N#ng~ zyRRQ{%q}Z)WzfYqZBI(_18$#PmWXw&+9aHt!LMX|JC|7#&h^(10b1RPKTlsjH1-YX z)Rp;kbaW{tzFNPvWhlUJY&wB|aAxc)4#~f}ai${PWj7J-U9X<)0#ee?4nT65tm=b< zpIBGo#45-_J5d@$S8Y8!IAefoKx_4pniY^*vAdbpxX>(hk;t&pjuWCox|JC|$e|Us zS?2M&CgOU;2j69hA;EMe4B?UH?O>*Q5%MNKHIRwPkc{=e#&5hY8vnT~adgD`C4k-B zm>L>(e(Q;7Z-=CK6BIu&<}lro!!3-pESQhMCk$mkpO&wk+8Vf}AVm;@eBcwj2A#m@ z-wJIpAr}If;L}T4s9pJ&&_9{rf}#lgl%Ow%L_q~_Bk&1>7~tKK9LtbPDZH#yaj;+c z+95uG&206;R#Z7AEtQ9KmHYEjo1W;n^UVh?dglCvesj^N$@H7Hx2tV>QQ^Xm4yPnO zw=vIk1ok|)b$W1b8K=`QWVMYo=+}p7OOx`W{gj^r2DG6C7MkCMR`h;Y#CeEvP}{U!Oj*Ra zigHlF2q+^7rxV(6Uj-lNx~K2PJ0x1m zulVzgx0m3QE5iAU2$h`>g7qsanm^O>i$*%8pay~2%S4C~2NAdsnh`)#vSRr5q+fkND(BZPCH*2xHi`7cAWgx4Vvubeyx zBP~XlPyGoOzcG;w#woqJU~8OI;Ejn>B0tf0%uBSS=1Jw<@12upoD_oam@Pkk8!cb! z=Ft-7PYV;E#2TDjCw%XZ@yV9yu1p~#?h?C9vpnN>a=yF1U9sJi(fJlb9(@raAWMos z5Ql>ICVz}OZnT~JlnR4!-{%JXe^1`He{G8waeMOUC1lX+f!CKf58U*a{g-=v^oVd5 zEwSwpGE-~rJ z>+t^AczufMXJdi8<)faRtSMayL50VO-!Xf=6fLginC^ld!?C`m7k^NfT?tKOe%`Rh z?}uWu7V(IX*M%iMTnRBO(~}b&MPRdIN)zNUd6(vb-JrRP_ozqMnMgs-v%ltUO-lPe zX56lmx|sfzgOu->jL#K0H}rP6UD9Lhx@Js9z}CqXzPlDHZ`cPd5fLD_3Xl0>hHtnQ z&tIbw)uS>_6Kwt@zQv+S)k7!ON3S8{qsS$@s%6y#qQdinJ(MYWz=!#ELnQQ z*QE>HfzUJa^1BNB%JyC&Q?!*rR1S{`ncLHU?c#f7MmI1<5Uz}!9)~NvA6ST&#d5Ls zyXfV%vDkg`F06Sm{@QhXUQZ-}&1`A+NnrDqBZ!m4yZDKi3lCX7h%+5E-%acjJ-CH+ep{(JaB$F=r1(#LTq!u#Rf^&&&fO7MT*cnR$v1h*_T9 z%u#y0{V~76_Y=%fIE8cZD+)Jr)c=@VY37f8!2AKe%IKOqPxcX$lx#Kh_1*8_n+zr; zQb-MB2bh%HFU-0Y5$<665lS!Ot%*lWRBn8#2rXV$4|7L+}w${_OM3{((uZ5(Pl zd=2Qd-@#Ql^P6302TYMJHF491#=Whw0Tte)3Ehg_8!9e>x^+X90#vBAlCY`3vjCv@ zV9(o7kO_K#sfd{hq%CT^*B$@%s}n5mxZhA-X8Hh1E1(##elE_gq8xK(-zxj4AXvIp zhS6&{a#rd|82y-LsRs1;QGpL({rblmwS86!yG(KKw9i_9hX~Sr6Ql+a1mb!Vgabim zG`b1$8bQZR1@x<@pN?Z8OHJtsE}W<1vV(J%=a?A!K>L?mKR6jXq#Rm8GFG0O3N+TC zr6lF$xyjg3<Xd; z8_H%c*{8v?ZcXxv{Wx?La=teSEmiV9v5j83R}30tQxEngDO*g{R>dfv^K2~V3AlIV zcKY&vFdAul?64jn<$q!eZTaKelVWq#fAt^5^@d_8zhEz~*xzq>^CJQL>uuNkoRgv? zp2Dt-f*qY~u;UOX;t!{*-)$dkA+&ne>O$?ZB4x;U61^>AOLYS$re?f82(Gk;?u8ps z&HjZuCzAfRoW72WdGig%t>RUlDyh+pfg7aK?~&VhU`a z^ersdOP_Lf6IJrn2Kx6Ytu~4+{cc@AiGAq-x93EXbL7_mp!}X5pOO(T=>)q1+U z_Y86K(-iE;WV0v>+;^d~P#Ajy8PilAqZ-m9JlyQUlDT?dY0`J~wUa0QgixBB9+lCV z?!+^?J#`H%{mL&%?fqczz6S#f#?j3$mOg18n1r-S2d#$q4t0Ddc~`=ThRM?$vGn_q z_Y67%I@yxU-gqVcV`G{r7Z~??VY=%~Km8FYWZbvTp;tZiWxXLU|NeL-?zXUWD|h3l za1YA_L7`7foO9%^dyMN9Ze<{vr`eMh^b71NaOUFW?t`B?q;|7 z$fY)Ax07#njdMJ0gZ-6JgR`-8cCUVXG5^$WVUMgJV?;vM#*tk~8pq!!;8x@C#qP#P zK-R{vmq+@OD*Q=r#~g{9OGD5qzbyHlTsG%K<@N1Dp7%U9Y>}ce>B<#IP`&qRq~0(2 z`W_J9O14UUkR+G=HmX7giJuEl{08|_45YGI_i8PS)??g2C9%t1E4u5d1Es+anZ}BaO20t!WDr zn?(tDK+rpB5`9HgEEGh+^ZXU*XGe67+t4ta?6-2&{I)U`-Iarn39>5aX0R`Pe2Aq2 z@r^3zD#IUt4hJQaY~81%q9WLyg}=1~nq$A8}gbYlft zM0ZIE3yS8MEVEJ$9Iuy&vO%S4KCd~Rn@|k!JueZN z{;fs22Votin_c@|ul2K?KgtMID{y*R9hMi&%Xh2fxUlGL2rH@?6S9`>=(H+~j(Xr4 zX-0r|mv{_jw$s*Iu!p9hqTftJzM}#y5efFtB;7;9XdzNl7EpbF9_s4BhhChW0dnHP zLXWagX0jyh*>Sv3LXFV0xd${AVbnBP%Mo0jtO+V3Jy}C^s*GBkgVRr7{*oS#(2GUh z5^Ip|g<*7Hmx;Xnt&V`cG<>s6nU6;Lm_+B8L;(~;z#&hyqgqj8;w5ZZR@FW&PO#Y( zmL=%{Mz4}m6doca^e8=4i*a;X8b(c-b#+lD%yySJ3VCvvI)6bg8w0yA=$qwj-76wh zI2swu7KnuJ5~*IGeaf|U#7^5*;oV4#5P`u0kY|YFwy`RuCg+HGXS1LgtVCWRp;s8C z>~tMOMyQ~2TvotEG>gaxB`=;cXnXlNHfuAAJfkks?ERnh%0F-2i8eyk>h0DPfbE;| zyQ8bQO!@e*5a|ZVqeyl<{=uFOF+!$1yU@H>kYzb8ZiN%Ko84!8z0#ZcF+7RP||%fZxa3FjQRrB|-Z zhD!z$>e&Ufaa=VJUUhZxX?I_O_F4Dg^eWt8VzsFY?l*@#p_&8#lpT2E(Jf;HXTVDc z{;|sPscUj(ixuvAwYYvx_Spa0%mj?v6%j^Oa{K%!5pz1P<-&*2lFRs;Qok@Y36 zt^!XkkIpZuqz>Rm*8pGnz#Zbw_LsI-;rMWtO^NWaz)g)DgzsUF%z?}6vk5K-OY`eP zIc8&t4!G&n)hGq*qzhwsRd^O2_zVBA3UrWi4v)R*0RFdwvzrbARgTWieBhB{@btIW zSCN5faA$Y8gt31BaGMxEP#q6c1e=)Pev^+ssqVwQ0^t`3a^M^LYwg!VeU}b(T@v@< zS5^}c1azAkNIXUZxyCPuj_`cKmgV;K84GRx=ZcD zduf&-XP?Xi1MRPIoB)prwnTGA z;5c}CtiJHC_SX+ieq3$QpLA7jc3A;xSL9M4*ru9-^(8H^mM5v~Of{V@=4^uDB(QQb z$0}qE+=1)<*~>D>oxw|onl1?eI5!a*{Mviy@Rsgj6(M4*J6Ey5&71D@`Y`UoRQGW8 zK+?6_j;RIiApqyXM;m;D@dMVJ0cVN|9^6X2kkCDxn3DW?1xEA5{<;A=b^jVZznYT) zPeBg}gp019g_fOtI{36IF@Hg;dzeE~b&?alim6QNd;ojx|5xl#KKY zcsD=cSYW~uJRRI^F2XV3M5YODtZc}cZbFxY=Amh(Ob9&i;1UKNVqqNgx_e?8^j%MV}GrWg4qeT+&6`cca6Zi z)kp6C87w?F5WWNkTXIG=Mh&}+?10|~uR$&#L&T2H!jRwVBvqN-$l<)qz@9230+&hx_(CzjN7DXM?jnef7&r_1M~` zST%O=&BW1RSnkockQ@p8hn~-`i?=>Ch<{8zHG*OA)+243(Bg=QBMVVT9(BX_QHpz5 z%6CrDppHn7adMrHYwEueAzk2U!B5~kNNi3$W_KRkqw1bQDQ@#`UxK5#&LL^wAiaL$ zj03GhhHwX!I`{mzQbmfyqpL?MZO7VAl|W{q3UWY}^q;mzh6p0XhgqG5JtSs{?0NgH zTJKx*3x(RBui3bUS=(!P6-Z48URa%lJtSor?%{k_&7bpgpyyBf1Za0n;A&^UR{D+Q zz?I2_Q}wEc&%cKfhxLZ4l~etX`iZstFZJ$gF)D1d+0`eU50rrNJxp$udU`nIDxX~2qrYVZ~T9Zcf@k# zrGc0LxLnMc!uhT@Z@WK(e@$X?SwEOpqrGtjMye!_(a+@5Y@GnYKsT^ zr8B`D#{tb>Z3y27>PS^@wuRAk8c~i1>PS}~7|Yxl?nG^PnY)u~B74WQGI~>jlYvd5 zSeKwL)i>{Kq7?I^cPhY<0FPjf5Nvy*{o2^Hy{>x{BDV4Z;BDLMHfa=JUBbT9Ho)P) zYV1rL+M}1c4L~$hX4*ivgTC2v8RSF#vSY zjzDw>)QLbe0NLEwr~w)T5eb;^W(`8V?i++)627$OhDCUBOQ8)*H>9kMAy5PYt+%Dn zg)qG}P;&hU5YS8p==eYM{y(($9~%4*?HViH0rJKb%+1%8%$TeS#UBZmo_`_)%L-Z! zSbKi|kTV!wj{+eW6qKyNAOz?pgRv}wQT;(;{}8gRd_@W!P+B%nf?BjkV)Z;BF6~Fd zXjLy`!DQ4g)*+hv=_M>hjwREO*)8Ax1GG~*w=4y8;$ZhYp)N&77d$XlzaxL3R>4+X zv%-viAKV*ebiw1cLOKiu*@nXI0dF#rKA<{HN;22HUm8LVO1DZ;>VENXzLMfo=jPsg1@&LX!RcK%IOd?53kPTHi?RM4P#|WY4;5T305Ms3^rc3;oTREx6zrXX=Y7b? zPMOn-Ny*Z7y*z_WfwyPyym#u2F@-E`*~|aN=pTIcoQ(X2NuIXY*3*3t)R6UbFRe0T z1b_$3jIsHv^8QaHKJ|+G)r9Ik@i$KK!O0O*Ww@6Kkj&cDmK7_E08o%-g|T^IY_k@Q z$a;TMbDmCnej{6P`$#Z4;>M`==ylaVp9~^F&PCg=Yw?91kv30>`%-rQ7Z7OSAVT$t zf5<|U5CLQ@*x5TNiSQA!7B!i~ricJwj~*Jkl>p)(Hu}-+{=Qkn>1;1YWIt%=Sb!tj zz+OF=l72MM(m)XJGgBc1Ho&GmYehkX%UeEznIuPq(lXfJ*UUcu*EvqJ_WmDrW@wQm zA`Cc0PD*un0BC1`GwMQe5~2~>$)k5gUq=8JgtoFQuNH8LM+h?K7LWZS=J8Ph5e`}1 z^jAa4ij=H}tLQRGD-D(=4yDDsTzpJelC2`4qJ)QlUQu1xJ z9mjin4i2nQjbGL!r>QE3a4FuRd)KVq7o@V$jj-+YL#sx?0p4|T`*u81ww!y174$Ff zVKWlR97zmPZX8+-2n@J_#xcAU_MCf9EAPLo7(mK%uGTp7OK*s}&n1jO?p4Q&aqjg? z&I&xr&To2Eew|~Y1LTF&GI*V^1Q22G{=gk~T!C|(vXqI``8M*<(fi$))Pv-tcSFa9 z5A<*yQYYRD3tOtBjF{_n`rRHK=Cr7_B;_&{4=-3xrq>t5Nx7HP%XcvHiYp6!GL8*VL>=unT&pko?r4E& zul|_XAO8%G0MSTC`yOmyUh@(FNAvXO(lNO&nHhi{QQy~pfdVvRG$AuRr(wCz=q|zEhgB+KuN@H;vVGE>n`f@SMQZ z1gEM^A0~p|1mdmX6R_%34EQ(pd&}|8VA_A+(y0hwAU8tO#e-@i2^pV@Uwjco5wb^W zL($_#I^dkMM=C-YBJJKp(X&TtLP_He>PL?=M`EsraOqv4#Tg-K;&pQ%xgbM$g49rp z6&Cd>&#~y5k&N)@ID#foe$t|zx+z>5qY1cD8HV*=;O>$HpNp`)VXk?s*FN#VgkVS_ zOq)P9l5Pld-L$6?vt4d&y_8G!OY{kzN5DMmWgAZ`&HlyKWv%L|m$8R`r%TS^sQBkq z&&i{+PT%+UF2Vvo$$i?o*c9&CA-XmuGtSxf-GZDq<;Ix2**E;3+kWPQTMA5`cA4F> z4zhfFK=L57yKj;Kx*FW73I;OGEY&*G zC)tL?+SLA#Sq$M}5_PBiosDW}1z^O+ZJSA<-15r%z{04eibE*WY=9OSCArL+3`@w{ zO(bnmRrJi!!cdB7R5e%^XP@=gpx_c-5VwoJ$k#eiu&Q3Sy~yvsCY@<7#!aE-zGq-* zl4Ng!;HQvrAK>cmmhBZ(LpRh__(XITOMNN0^t_T1ui$0u>R4QQo=H;HvIjxO2fEdp zY@uV}>t{O!RnUHQjCB0ruk)iOFrPf!XWVKh=*(4Pi^u2+dpH`)WJw)-E{kM-Eix1m zp8e;>XrAHjhAMHED!j9qxtGb_0Iz!?@cIq@W1m6b?rgG>Y4r9!lJfRZx)Y3TSLAzk z=s))O=HOke582Gn%l7z&I)Wb=bSvq=GTLwt${|@?Ys{t4eq)SuoZ?XQb|#YYrct_y zSA`iwv}@4Oh{UmoqQ7wdP{Xq^B*&)T>`^*?Ngm0i=nuSUpd*u2zP6?Bl%}#NvkgU; zm@w$|H~_}7wG(~2G!-BZp@-fz@u=6s9Z#)@jrqUF0aanNG`=W zai@m`B(sWuk7?R_;FI3{LbN&yi^-dXclJRrjyF_<2>N4WCW6p}6kA8HFka+c$=>jY zRC>|w@SHEU=R3Ki&=8VryPX)w5|KOw+hM&Jy|3y!m6=z3YSlgb(Lg)Gn^OH6>tkwR z{Eys6%8Vo8u+_q$p)cCsz3dWISDm7&{A(QJokR9|l>j~PcqV2#ao>+`NgM`U`; zFN(4vAO{ep7)oTd>OZjWK|I?J%j{7(@I)Zw5v{0`s?e~Q8RQ@C znpuGB*<82X*{pjn+L?(vAL|Kz>(k|UZvNVE9118exiCiip|441suI34n9;f_SDho^ z3CqSWNqm7)PP9Zt-ttgw3maXCwfSK+>>6E*?!2v#w=*+tK33pGSLB+p=4m$UB1#hd zU6%v)*HNtaD?QEAHp~@)7r!>5KzMdAAM9uJoVqJoN_-@~<_YmqHuDo^t)+Ds4j_ZI zMJfxmv4BI~etO}*adlU2-cDGXxGng3{k7{XIxOePAw-N*qo`a?fmMi~{#J{Uu1&d| zFsl$B{jK5PGM-xnne`5uth%9PJQ!A)^-7wo6A?z&7rKiwrxz1)*H^{>f9egMu=!y( z`yjzxdFRWa{;0GVBl~pUZSfo<)XEI(B^iTbsUFmA(YA7ve2gg%<&?d?yR9cWj z_LVPw77}})sP-^3ax5?=BQRNesuFANfno!`f0AZM?N_7qmNE6iuCtxlqioS@pUw>U zdYz^&c{-e006uJ!Qwg0wjcL8!s8iC#b-xnX276R!jPK7~J{H60NJZ0LY|*Pzxq)(v zEpuI6t=FkaQ!y`ZwOrGBUfoO0zl)0xhII&cSNN&*oaN%G?1xJ_lU~{H>?85(tIG&I zSL#>rKt8zW_PHr3)HkIa7~a_j}Jb?6(cKF|9kx4J%nX z3!^XZb-?PcbBj{Rh?V9!Mii#JMzD(HBZ1OLNT&uh{Z`#$moys{ikZPLH zv0aESOK`bbx1;{)@@hxyTdE~oW4(*65;8j6wpv1-PbLQ2q1q=4~bw6@V6RzyT z3xp=JLjx3!%dV2&QO67NUd8R`wsFb{GdLNY)6Z8OYecxqE>!=PsWsirC$xH1ul_w; z^icPrSoVzGN$s3|LUfjgLp|ULRbl{;*1sZpcNr(hbQO20*~W@s$ez=m6&XW{5_{^n*CK7Yb@=3bkX*cx;IgA|D$`|&lLBhFSDB==8 z9M~bJn@hp+{WFw_6uRPQ9BVrUqSUX-@H?sJ*ht~Kglqcfzi{bi@7O;UT@-GwiR>w3 z`t3!JM6jsd9PeGTAYmSIFT{J2<&dGlw-3z_?eLv)t(xZ+YcoR{nV17CJ4f^8i#G) znb44P)jp8RCMd@E#ifpxie~czMLWnXnLiq3^C(TsP9Xv_@I6@tN#*{N3L_u^lb)NuTg@n z_b)np&dQ7w7?jY(ZXT+OD!>^s%(PPbPHHbvJN!8q;b?rFr$(ui=qM4azkB{sf!g8Q z16f!0pG-~Ry2^^9L}wCA-DKSfdgDVQ#IS;)#4D0gVK+(nIVJg_(ARmJmK(1xS8LG- z;>uv^Pv6zbUAvgQ#2gZHFZOmjV`!%KPN14mtD8EIbG`4{=sY&-SL{b%ge^K;@mc*T zuwLI24g;x{zDjFLtEe@N_2Fym+05rCSccy}FyphwWF#g(;Oj`I4q}6I;(GHo^EaX)4swuGrkXMe{dC4= z;xo&@7xpSfn?vW);ko*Lx&1l7G1Bp8pZQ+d&t7gDzamryD4jxJT~dh(AYRL z)85>k&`6EGsIN4xILc`kDOF9ab@=w`cZAqb)@Plk8fnse1}Y;uCm9*>$wpHt@1Tg= zfcxNy{AdKew{*=+X8C1;uz||6p;>5&usQ|HQ;&|Q-I}7!{*AQyjaPe(CDsLlCMI=t z9fGqS-`d;F@!d_EXQJwH6NOt>27Pw7;ep~~*7(O{#hbmnp_cW2&l8J?l*R`~?x*K% zSU4u1X&k;qrFJ~~z;ZHRuZU~$Lfl~ zrS9%Zfjb}YGc-|3&5kam1lP>2x6EJ$1$XrKfO(@cIQ3hjNi+t>OXT~q{c2)@)h#nV zROtJdFG;05=ev(Je(Vy9GO~^DbVcT#J3>Q?jvBF72&lP3w(EnrQ&J9Br4&@)#%Qy) zm~VE=y#&rgLJH*6t^})>-}`(@>|%TZh!4Z?ygs(QySxjVVJNPonsc}5;A~wb2qQ)Q zO+7*?^?{%nbal6Sc_iS z*ivljz4FX!wb~hol^!gVso&S4BuOmzLh{!3LuAEYuMNuG+1xZP;;JFp@bn6hA>jK}9ASRnO#o59|Jc%e z9{B$UMW_&^{EQ%Pke3yWDCH+e*Bh98KLASkf4zcmZQ0sbfKvYFvMec2>p>=?79z?( zH2P>^K21oU1tjwQvr-o^sdm5&KM@NAA z{YXgWho&Y(08syLMF#?W<048O>T{0+0X#sdznB^qi@e3VI)qffsPw|*-}c(LXZ$RW zM*EogYPj<6Mn}9y2n=xH*ggJ7mHCg#7ylpC=nwV291Dxb0~ZK?N(4J!jU&Q1zz2*e z(e)koC-qngeTFq4zXxP3($hev@(U|zwp>I&RN(B%A{9}zmHBH37o(l8#k(2^1Y9+f z)4xcW`MdujCI5*8lm@JrK|3`UQPEHz`U4tDgg^p2AA$Umo&}IX0HOpuX}>=pv=mg1 zzOXFbR`lg(p-GA0 z;Ui%AvNX_lqdeUM$y`i(j-bk>y?#nXgg+`vmX7(<&Dr9MS^78oUQs(C&ZMe^4Xs<3Bj{Kd6!Z*J@CY zcSs0wi^dJyWKLwnZ$`}9N8XV-rB2spjGEVv{=dRc)tR$KqrwyAR53zho9Wi4FtZCv(~&&Ege$F1%!SgA)gIvBjS=ZXBq6ImMHO+Akx zXJ8dCmtt=IK!3-sb{!7gvMs1(D#SdaDS87Bt;kCrO-N&0_kHJljei`Y!>44P5V!xf z^-N+;)L@<~LSMRbYkLz8J+UpQW3t9Nqp1K+yLrhI32ETO+*X8Btd6vjc}CnmavN}x z%z%Z>Pf9#TlD-`5bu-2}9~-EPrvw5mO28ZEJA-z}a!R<{_;O*L4$p zH&Vo+G_PP-$;)cauxV*>N6fb`)xLTdYfhJ5Lx0z}*H`0x6`2 zxhKzy-rVS3j5|Tn>&ofAZS~UqRREZ~C63@It<814n47ie&48XEi4@qABV%rtK zKqrCLzy=#}cB?m)Ac$KH{^yc|IV8ttNzs|X{PyZRBFKnw_J967@xUJ)l0?pp;{HM_ zlF+dS60yiYNA~3Zi1Y)|Ij<=zmWxzxuwKwWAmrIMPr^@{HBXD zJuKE;ein>j*)y$@9a5LP`NwgPB>ZI1uVAJ>ILz`4f-u)jKCUie2Zih(Rj5Y9Lc}2I z>6p{c7WDQAcJyD5$fh+-V?2$8#%in=D)jdWlKZ0hCNMly=3r@jJH|K{N}L>F)%2Wd zR5V2Fv3k1Rv&bgcSns^WUvrdbrkLCxGvlTd?fo(cS6lxg)*)0iO`C~_T;gNgQ1-nt zS+1u3#qS4D)l_Y|l!Y(5j^5Qaqa667j=!GOiq0ikk%TihJ{QrY*=ea=lCHF!Q%Sz% zTUy>zT~F#_GZHGMsiUu_6WK(xA(g{chD?mT=zRd4NYo}wnf|iN?=7mDxEna>G(TeR zR&U}Yp+v9~IOXEqD=P1DA6F2g;cIR3{1@BKfa|NN`^7(`TexHPez3mGVO3W?etN2U z`=p|VX>1J^dD`xXDRcYnz|Y*hl;O@7_h?axq?MUuR=J1Gm?6n6jgRk3+0TZXU$BixRrOs>1(kU<=ok+_(|{IAKM_1@w5xCko2o`ytt|MK?-LY!I zO$f6YMV=XxXF{y}%oMmgo`aRxcm+L`QFxU{77lcjDeN=XjiR*`VUHsz6Jnhgh-~vKY5LrV zYzw8Mqk=PPK_fJ!@bHfUH;+=H_a6oBl!6jbgxt1t+Q^hF4Ol^Dp~tn7LM-NTC*HBH zrNaWs)CmgTK473Af>;thI(<*xeeU)$AD%>#V;Y@*hT0SHiNlQ4676wxE{pfqjuBQA zR>nDdG=X6%7j1C@atfFRW3j@@^P+{~=WP^8Qq$CsaZiF5 z7IS%STeAEfAz-kXqR&?FyQfwI#fa}5w$26dZDGv&gd;jqZk*9qBtTOlLHonvh}0jl zE_y?SV3 z6ja^Fpd~79PZurgk-qa%RkZaL+Y;YAK24SsU4Mqt7Ru$o^ShF0TfS)8Q5}Y%u@;tS zmGWw{b8SZ_LZMOJGnl2+zD>t87dN-Oba17jZIDGZR@2e#OF?07yU4wC@-4L-Q&H+u zzXP}g_(j=AOzgGAeE7CxQ)Z(ew^3x?&$aYS&5oUI_r21lj3)SDs3>LSwK9B#vPBXY zOjoe;@!Y|MFCzD!YrgXzTo;t81-V>zTjh&`%u5N2YBegEpH=2qJVHQ#% zdo16qT|Hq~W8*7NF($f%f9cd&rLs{2WapnmO8{p9q&WMjd%5r5{M+j)&=q z$2O0q4HyD+GXiVUoOXg9BDf-Y%^l>9s4SY``<~b9@14xtG~l) zR0MXeJ~6W-n<)|F&LXhqt6OIkX(#d*9ynU=-qG2IL$DpJGBkVp@NFAC$aLQFFP#V% zH#zllzx!J)2cO&F=h^zBZDqSb+VP&JgF+>CWhM6B|BS!>Gm5WvICBqc!)CQ%hs!@cCK!7wiEqOSrcK?Rz$R*qBelhy_h31~(H0H^3(W%JTN(t^xfH@^At*1N(%_G+PRM{;`~ zm5oWD(uzNh9TJU5ApfvqAnD=(?OOw{&%rQr5if2)UwXlc5$TW0eoM`%?dK4*#<;DJ zT2f%Q=K<=oDocB7q-k}7L7O+0*3kd(j)>X=)U=qXN8*c24^TD#VyeZWL9JCL@CNPM z^E5tvGm5OmDI+Ro?lo4pDSvoRtcrVRX=rB2_PSuJ0eyL1^O}(u->qqghO)SY0wVui z=5DBS340f^t=TJ=Ac*Sh(w)tBzta<>tmW;^(Ja)@WryjA7zOTyl(6|{TgJ6nc`Agx zW%JLlthTbUNBXsQ?&R3S;_a(80Ho6AIvWo*bHhNcpUF3|sPp=0&)XSBLtKo!^Z&5* z)?ra~-}^8iARr*!AUV{4w4~BGbP6b)0@5L%5`uIO4HAQNr!>+bl7b>2rGy|MNQl2Z zgFc_{^yn4XPkpWFm>+C|SQ8%@XhieMcN5Sc~m7lI2P+^alyW8*1Wg3fX+v9Z8N{kr0 z8}pW?MnJP8VWWAP`$%^*U4Z)xoqacS9e#~k>~yVE<$bXBFb}SP`_Yho-7Bo5WD^SO zwVkB0A{m?X&<3Hw!7uEFVlnZ6hJ=PS`@XM6)nQ>BN4d*rdyoa`R=mK z*K1%^%fxo!#`xY9I+(}w!pJJ7rkfjmtI z+A~}6NuA%uh$(jym@w45t7`SRLPFeWQ*t3|+w`!X^wa7BPhKAH&K*ZGPUCECVM>A9 zyOX~H_>~pDzy${ORjxv4yTdHW>{<#VQ_agHH<+^o15)_op5?a z2szvMtX-n1 zommvz+(G}9(W9_oW)H2c4bDRE{qg`j4}41gTjkSc)hQ8s5ZjT2 zxx*0hEgvnv6^E7s$oNfo8S(V@1Bdi2h({q}L-|!<7Mw-OdHsVA5z>kIqqfMrZWhAU z!5onVM>u_B33oaHi>of+7~d^w;$~Y^rrMMpEwh z#U?uz;Ta5HW!LjyMVb?GHjY;%aD;VvxclA{*A3-tATkg^DelJb#-SOpY18?jh=TTO z?gJ!_aBLksW5?rN+v7;-v4k#F8MQHpe@>cXCH})<7chCvTAeYyZnb$H-Otvsg~u(~ z{7Zo@1I*(IvPiRx;d_XGX_@!OY__5!jaI9KGLPaGfeg;FzsU_;BFEr}nyb&We$YX<35zMqJHH9KpMRmfp^kx>$yDPU4G zoU>I*Z^u5zS+Tlfw6j&dF-)2^=e{ntYh*e$DXo#tqh>Xp@?b0h!dJ7d96p*d)6rRX zl)QN213h3>`+hFbt>qB-Y=GH=wP9}$QvvbwH+__(k~_FAN`3h@r8^~+AN_oT3n#^I z#wk?3tK1m2DKV-yJ&l*3Fs!Su)q@(t`*XNkGgwlJEhpRyZ@+${=-t4`%mK-7uz&pQ zggmH>n2dD7xW1|LJQ6&qaB0dvdcSzNyAAHKGXe%@W?w#s9R4Ki#pS7sCYO8sei3_r zo4&Z^p!US)$L_T=aKR_xot+^=s8dw<{vqE;)qTLynn^^AM#``B#ALJz2Q*sw+>no? z-3H*3mEYy?IO^9veOg9I5NNH#P-F0HPo+4cu#@A6Tc;j0b% z>o4crh1fm3bOqOw_NtaYqwf+2W#ni7yu^d}7ng4+*>(QG_DI;y&w!-%Sk6vbvvjr`*3af4E4W_+E2#H#m#Dul6nrHaUaevXgR2 z&?d3mzEwDbwsB6IwqsG7K^fFKd5H-!=VdUMeLJ0*w6cpMnn8;Uopsl>^HFg`lkS0& zA=9RF`f`5%XMR~b+L**&#sEND6QyM*LEtN)t%A$IZO*VDBVGq2)5pARh} zE$hFspI#uOIZh2}0L2Q4u~cg=iLB}lx79gQSZ7t>;1C5X3+9qhED%W5&C z5~T1g7fqQ&BO!Dhf;Ic<83v<@=!|K#ax*RNO_d(b#Ol$)xtP#!R*RRcP<~E8h-Fft zV#Xa&i~OwY3%2`F?wL%qyh8&1`7tF{m;dMLNmc%D-2H#!$%RJ$Qn7Fv{7t2%966)h ztU?m@hKHA=Qn5!p@x1~GJeI61!8Hk~nQX(-=ZF-+cmQUrTtkCbB$0=hzSL|@&NMkP0rfCsSr#GA|$+EKOsOqE*w|1EV(C5SmBMIHoS8;O{A*}Uz!Hhj39y!mK#)_?g2lpVW)8?CR zCD}j4>Yisz+ab>Tbz!;egb(vJgFZ|l$0%Upo43{qcuLGigPz3p>emH^xe%HLQUqgI zFw*|wTp(q68t=y;EtMGy2S%eq#3|x2u{>WdPGpd?vE|cE6FuT+ZbdCJrzt#->$Kg( zEF6T54nZy1G3HUkWVoN2yDlcHu$hf4G5dN%Zu4~>l?CDGM4>^}>w|(?cxk)ISU4CO zBZ69t7@~<-IG7vr{7w;?xbn-uzgI-~cIOdi5DsWU*pWHAJm7^#$XPSvk2oZ)x+lQe zm`P5|!ot^?6MPkzcRNQ3M-)i*Bc&IfQPabtFjvU^n*RuhK`DpcaZg|Y^1MhYO) zzhn)i7IU^WfS^e7ifi==_tQ}<`Ly^c$X{nSX$=;jUjmr*D*;)GvfjA>J$x27GK`9E z+s}cgB(Z)WR`LDnZ)BhWiYKgJ#!kx1vrydk*2RKa_e3Nie($N~FbDxG`L?f89Nd7v z&y)CL@g(cYQTA<%D8UPvd{<3j4FB<=VaEH-axq;?9<>6>R4#@rFHe$7@e{*7P2+6% z-_^m6cq=uHb0Bq#Gi2?{8%NA-B*I(~cf>rG%H{}RUHJ(99i>Ml$uPU|fPYM*eM3OC zLl1K4%&P%3ED)e@k#si&f?5y%(!-606ori5spN(yqLex6PjmjE08JJZ_VhHcGM-n% zDnAJZN)4ivuld22Ohv=;Sy5AI-&jcj(>I+x5KjT*22vRwZXYi~gc2i41SY;q{b7u; zwk(BtJ{!NM%z{iKwK#QsQW+VX7BzLY_&NcZk&p8A&vs1~B$2qsG;8+cE?8`@mu`fu zx+k6s)^(S{jyjJd{)o(<#EUZ%cblDMcYfXKVAe{fdba6vnNxNiDQ#nUpQHWLucnqa z;X))4IIouctX3HR=9@_qMRAz% zro__MIi@LDn5`_Y1(Rp%>r~&BD9k|}u=g!_95N6$gH!0xAwbNSKQgAAOotjFUuRKI-6h-_qgaLt>zA+9FzqBv}L2vQ5!1CzvEF=>r?)(LTUI4!6z+b=y0A zpe)UVq(6^n?9U^q+i!+@4|D@WAPkKn$kG)Ts5;+7l9X%c$a6td#h5|55j=7nbZd|# zW~e4Ifd!J03@=%kNNYwBme)&tg&;1d1oK=BfSiqr>WEabTCqjBR;`Q~rvFD-9<~l7 zCyzjs`A+FW%F2r6p(cIcg!fGpuq=nT7Ohi;hPgo9Sbu+`6gI1`?PgROc}L%-wlq@p zt$==8I#-ggz8)34ctu?={Xf$3aG?~r@N-#pyv@7*)|P&yrqju<1w5(?|n^ck+!9Uv27*L?ASvC!#t&VqfC~17C2*l$_KF z%Xy?m&kUE;?Sj5q{)vAnY^;C^k6zhPTQtSU|FXf6-=zPtfpY4<6yOVbb!r>rck$}f zBDAQTa8Tz1jhBBOWBt8gIYq_fp@6ZI2(l!5l>>CN!Ga3Z2{Zq97AkPH60!dIAg{`E zDa|K8&=j3=_J~J)tT=oQ(oScnwtR@!S_P9O{Dv>K@PD@A%(e=HgTV_&0&sBLdIucz zUu+={-nEK>gWd~ALU6F#Dgh39F184Nmf@I}t3JB9uE@aG`BCmSFNXg~xI2sAkFA@) z@8UD#aEzqcQ{k6@?Yh59w63_=P7m%H#)yWO?kwrPdXOHclv$QxaMuHUowxeNNgQ_) zBb0!Iv7y6*{H)J+O38N^;@OQ&vWI>L8+Y%b`>og$$Dd<01b-f}=P%d0keA-2oW}D8 zZ$Y)rJ}Ej7vEZI-kEVF5+6U^gPh~31PXvtdxykPlS9fB0b!sU_SvY{|IncK-sP?Dk z2}|Jwwd0HBVlk5F`wq^l3xjl<0FT~x2wYv51Aji0`RozGv4=7n%1UDi=98-1bYFMG z5*-D6F-Sjk?8l!g&RGAzgfs@S_*&u01$VP+1WSp$Kd1<<+Zvj6{L@M49PFbWV}Nk?GnCg7hC z(j{BU&|nN=*3}E=z9sNKcuZd`rlZ0$%XQ?Q1YVnn-+i9htwSWvU{0B_tPs6@C!M*3 zS_hc94&Cd@g5Q{+RUm%qH>mAWGy+@&u<&u1P02j^OP-3V(gy+(MvmTSwrbmDj;R-f z@C^E$pSu8#qTp`;cQ_N@+~+9kD|e<4X}Pa;g126u*3jN#yDiv}JJxG7;S-|z1^Pv97Jge z*eKGLN7&ffvCvl0rY5an^qWI#>^*c?t>vG4xwB0~m+y(V1(%!;AEMKNUXoC6Fb zHbXQMf>&e|$*i_slU-`v&j7%**pp}N}Om4@SgKDP{ zPRqV^ld{_9!q4X}M=s;r(I2>}R=8i*8dO8QC;f%oQmOb}AiOe~uG_1nGm7oF$yIVWvc5^MKW7=(k*bDGS#k%bV9b$wXB_97ZXPjFoE&t?{vb<^F*cud4qEr zIxG;{;5T=>7~$TrRNa*~&y%~q{hgEKKKFs zG-)V@8`kzTd+W2@gUj|da;R=@_}Yp-<@L0;0v}hF*H&C-8qhbYqZ>s;{ep=Oa53z; zeS=*GNkii`iMoutNkipw7()Ys(I)Y780ii$nbt@#T@8LlQG6vTXgt zb!G?6wmKS4FPctoDlGP#8d|`1T?2C6aE!nld&IsaD2ZK#DVH^+Hn_3Bb?ky0?Uc0y z^vr}It^OU3?wF)TifXZ0u-M8B+HOqvggXoSUaIV(aBy{SYrkBPqLTVMbF>lrq4cEl z+4z%+<+A0DpYi9j1-9XQ&ur><-p}JqFW@+(d~#=D@hB+RP&6-FfYVZ^-(v83fN8Sc z=ru9uwO_o=Jjc~k5!G+21T@=a9);!hKzwkSP~A8SI~UL?5WME9?=pfPJ>jLH)eU z-Ne@1+IIPX7rnn~nb)H39?)Xp)$emLNsAd(H(h+)bws}K+DSl8%F(v^c{q+++-}K zOQ(hBj)1_OkB%;w@L`9R2}X|s&<8Xx$%4}oxa%(fa|X(s8VbzID0AYV$r%2yZq1ZH zh>R`vKYXo`VQT#|^GmK~lLaW@^yn)gatR(mb8guOi#)-vgIoK?4wONd4l1k?PwfG@ zw62)5KGm9C^|U^^WXhDm3zyx!Tmmro!O*uTDZ?n{@^AVJo4NcO zu3%443&uP%qu~ogCEoQ7yip2tzk+H#j*#-&0tM-u0wB0$Ugq?eI3D@v&sKJHN&?m> zf_`SL{#gL7-S%T0n-%&!U_|~)=zRpxyG4Q5!@b-8*=YYE`Lu?~4K-2!p|kR+QL`6X zTD^&Juwym7lIS`Env`+trEaYybdG>)OX&BVf0U1aWdc|V(3ZgkCu9%#)k`+Ybg+4< zDJ}auV~0npOdtB`95Ih`1Xp&Xw%Z&rF98~u+cST()E#QUZFCf`V(V~Nyl39Qp8bn@ zN5W`Jf&*eXuK-aiG_={;W9Hxh2e#Fq_7-f(41Zu<+xep6>GiKtkNfYm2#g^VU6&4R zv)ZjPEn|h;W>rTLMA~^nf6;eUlS6+Gvex|+oAFuRi@4K4c}{2=c)d$r$Ug~^SVBxj zR&&hq)rJMMySn5-4g1^#=ck0xUW;7Ee9F)a&awY){NsZQ^HT70ZS3F?p4D#OYWN!; zxdhG3J<-3hWW%1%0Wl_ZpuTwgkY77zy~6xdT_aJ^Q2o8Cara7Q)>`a->5w)xx6zZN zqzi)343=}V4Gl5>1`@}xt!L>H>pNqL#VrYcY<81xyGu1Y1{+u6QT$=$)(y+ZJoOuI zcW>N&r%$>jpkMuqgMEZan4eo6i~E^-qC{UAM8T%Sd|qAS_|B`1{x5qiRvm*49Mhvh zD^fnAlzz4(jv9K2s<{#yQGoW_TMs3N`l}eQ5D2qJ{mk*-h*~H!6Xxet!y0iBP$r}o zX5m)DigFPcq+ihn-BZ2lHOT#E!qZt)wx#tg9vyQH%3~@PMXH$+U!x?s-GteL)47}* zV{aqL$_B<^cyKAUGNRUuq;B~Xkxv7ZElT$sADRO51Dkj{aYsdiCwLS9BH7Avh}Y&r z`n9{YWnykEoPmvrb$9MpZWP+QKAKm}S)-096C-}7;~+-tALj|!!#iZ<;%c+Ee1zHG zs&MhJtGPdW3TVI!WKdu=y9W|m;=!{JNvOo@2=ngy;$VYV56d4qADwvY9#@-=sdTG3 z)HO&B36dCk&aJ>v8WNX?)j+yB4Xfmjnx&h6S<6XVGcobQXM^2d; zq#-erwxweJb~cV0cp|EqB^ycK_YoWN{vCE4V*Zbic|Ad1_1O%N_tUo2+adOrdrRN~ zi{MevzfPbt2G@ZX4^HN;o{U(JO1>q*wyf_`Z>Gze>A)N{8?AsuSPfYIv@ALAjjlEp zHhiz!a!+V>%HZDf&e0h6;~v#9rE#+jMX^sm_0+?6k;vboemb;%nzZ~-!ywtPj{k>- z@qqqKce{@1=;k(3sGz15b>W7kO}2T0AECQu^E3=J;h{e?W+x1jEQmCWJ565SE}KR> z_IF8}`s^};_RilHUYDvMfZ^C9@bb$}cXV1fTN%(N2UEwuFlrsVVg)eS~*7Xyr{FlXn?`Hb`~mQOkvLQ zn6UJy!0Yz*8tZHtslv0#d+8%v6t9lmHj?`>((3>fw$6!v*9bfA#*QuYs?5T~a z{n?x|RQscp14_{d`5<_of+69B4W-StyHwJPFT@r`?%Itaz)ZuC5QZH>N=um3_l4LE zX~iB8ywAXp5RP=-l}N%`Ar3O~)^6N*BY2;gA>k#`>~N+rnoImr8QRKWqC4f|auF>J z$g~Rc;!ipbSM4wX$M*K{tX9%^LQ}>q3R07MBVu6TDqz-9**vlrLv2o011)f(=lP1- zhfExn8YCrI=gwH4{G+SQ#Q>=qka_^m7BGrGaa8;zC$G~YgpoXEz&H;0n@Jvm z9X;prH%LtBUr-jGRV)7lSWpYdzx3<&NE$Ps8J8E(A!*7;nz2`M0dl`*l1bNj`AH08S)O-Syt2Domw z#y%k#%Ybow5VzqBtIxHotWwe(Iz$|vEXjfon(wP`d!Js|;m8r>6|F8uO(ZV0t1FTzDXSv;1d@AbDA*(V%5(tPxmvMLMQ6WMYk^OrM#e2s zs}0n`wD2AwIh=9Bz3#vjFgtq-KmiOdrw0I76RERnoTWGbisTqXIe8j-17Kq~G&dl-;=K$hLq z_`$~v*>N|T)QRqwN2!y-8_2-t0M)2R@SHlsJW;L=YENmAzAe}K0ppaSut4A+rq9uz7UCD6A zQRtg09$XYDkC)?s=7cG*)HItC<~94$P{ypS2#AGZtU8zrkwiZlWFn*1WGP6n9_0?# zvX>-?QOxI$qm!-K7ZRZv>R)ij!5Wxa7F8DANR;Cc&ruwZndG+-hcB+QPPoN;!qQ{c zn|`@?(y`L(7Fpr)cF@vaR~bm&GzyE_`{%myKiB3f*VnLtMALvf;)IE@AnN|#D9))G zArbbzETiLty>H4Dh3D1~MC z#Y)|TTM}~Irt_DR=K?Bz^Y&d@`a3F0shdWZQUAH3t^ViQg>-eQXo3ysm@ z)5*xx;PQ3j@c|KpXZstS@|O$Y0hba=lf%#VMdHk#rt6CQ$!2v}@AA!5=IexUW&U}W zSYK=2M!@E~tu;=y_A^hC>ahnpaR27Ct?H#sts3?l!+vLu7pzpyn4yDreB0LaQG zud8sY^M#4{5dAa_BB7b2>VS$q#m_sA-cB3?3 zd{k@Wgu0#7YH!+%%%Sc_HU*O-@S4xxM3u#d6%naCR;U|Ra*XP2lYZ}lRd7*hQyw-( ze@EV?v{8voVq*VGO!Hr2d}nI^Ox-FXaKGTOvLBhd<1zfym~*@;Y<1MESGx~aUgdGEn&2}06)-}VVXK4_zS@vE&t%HsW$}CW41U4@A59FDQRXKde=fK6Ht; zF=4yeqWaHCmEqVV-f#$0pi%!IzN~P;tA})O&R|HcGSU45?rpLD+KR+*Q?_*w>5Yt> zKMXC|&FhK<&usn7CtA9n<$~y^&PZYucJqqfgoBwiu+c;<$fVDEA-GddJN9v3}#=4AOSv3V7YeU!i)Zq zsG9j&w&P^C($?$Mmc~()32VC+0J~ZmhXV{aU}|VAMZ(``RBUncY;l+0)?b>k3_+Qu zq3BL&vpJ7g)7e5Z*q+~*dgDPbo023UaEi^_nEe*wL+GvqS?cO*^q5Sgo`62ML8DTEzko`tQHa}8|6%7G%TiCWOU?yWQb%rt*H0cY>cZQ6BXPowm z#GwwXBsnzjAxd&IQXZ_mPD|mv$wF)b20vk*L&s?kBUEq zq3t7nuHrS``jE&{9O${-Pp$&)3J)mFm0^z_Nd}uzBC#TD+wmWkhdufa%fhxD{@T0z z9C%`s;5^fR=`vMRCxe&V3i&xQ#w-U-o`5V60< zt{v{4U~rzIR(Ql*hDRNF8z>>`nj4!OTI>|vCtzH9Fg8&4`u+CfABZI3{W~0VmX9aL z#3vlxu_M(UmEFyeipi;32HFV6qjR)gbvlh1^ub>y&)&q{mP*-CqPXC~OuL+XH~m}f zrs6pQ?B&cbu_D$r691% zEeAVT?Nj5K$M|sou5JLXO*56Z+G6I5LoE*lKGToy=5x>czpCN2=4Bw&zi4w;zj`G5m$kN=zDVb%rbjMs7W>7Wf9JUy@a3FhBo1*{|B1@Muc^B+jPE{P0)% zJfIHVdj4s$$oN;POa1YbUeuC;>!KXb!l2EU(lQK~pMxO4`d><;FbMq|qJnEWF}>8g zsBb%~^Bt&3Ze=`YdH6AdZ&3J4@gockUx!CMj2}V^Dsk;P2JZj5g6vCE(13Uoc!2qb-1rJbEkOBc>_Ew>*H9pLQ z-ZGGnC^GblX)53qqqdV6oeVRY`+XY!?6+@Eb|)TFZqtLPG2JFr8>+3zBKx@qI}%h| z5_99{jSbhSySGDs`w(Y+b)GU#jae=xUifM=ZhTd2CiI;DF2VSrUup(tM{1~-w?$-E zi{-}&BWY{*)9WVZgpileW@po=(aFX#WU;wqu5M)YkRJMzzHRURtYyTJ_!3yrzU}w6 z+MpI$Z2m2|2o!jE($46!PDE*2cZP+)&B#9^=7E5cF{m|LM61!-T7^HPl)WG{kG|ou z^ntnVr`I$nHam!W6QYXEdlK*ld**bS?(db^?czv*L5*yai>5$e582-R< zV{6fEbJWpW#A9HrWPNsRs}N3o$zWrfX&N=H!XvmMH8eW+MAA!V1oJV1K%j1{65G+z z7&xy~vYyy)6{Z1=n#=;*%&Us?BQR&fL{wFH5|4qYN@bTQF5_lOUGPBDquNe%VfOxg zC=dJMnsK4VR=Q|5V!bd^l3SbI9Y*(V(mh|j5?g6ZRqcNF+fTwn?djsg)?g`|2>YPO zRmu4s9s@&_iu<=>>if9dzMgH67C}i+YVE;e_*6M`i4E%6PAMWqLvxu>FXoY~6Dh>d zTqL{KK~HE9)LA*H<^;6gRYwfE<*t&STJ-S2MOcO@TJ9n1*+qB^G*v_H%Ah)|+s(2n zJe2(f)XEd}el&ZlBWv)zqQQvu-W>wCIG{#h!r@802hsA`ZTvD?4k78$?e{){Qh6{Q z!)ztviS5=}9Im%&<_(*uh1|zLh(iMFW|Uz(9oXN(z!8suyowR2zY(qq>kj!yj(jI0 zWYiq2TB6%qbl9t4?{z-v@tS~QxwxHW&vJ@L^2nTjL4_^C2C;1M9nbx7(Yuy3K2O9L zW}U+BcvA*tYC>>$AGZ-<3HAL`4qv^t;00!zb&d?&isyTOG^h9TRX>=bc3 z>s?<>>pIqPThlzpVnPQfrfB`B_OAJU zZMx$pDHL?@MnLY{;F{b3xl@x+xe38F`IlSzzue1czOA>J$os-~hkh{SAUZ_q}r;?LUOuxcz&+a@3uW3>QQXz;*RngE0v77DBYBhMy33I;vDa{abdgc5~78S#sSfD*!$ z(t^@!f?=vF*FWFt`H5FivI*ekG@%KxBcx^ip7U4~4X zd{7^!bZDA=YgGpm0xy;2`=_*KBV;;U@?Su373Dzdu+-n%Colo7QB3_~s}(@JWUlcn z45THYjFJcK0TA@E*@!t(8cOf5gx%YRq1|p=GCcLkxA|KuIsfyXFAk!nN80&R(i1;~ zXn3D|fMRR$NfLyqu)nlK>+6{^N)x)#x7{H7#eoAx@q!t5LeY^mVD{cu4`HpPAj3`e zc*fOqh7LKcB@DgXSc)ENIjWUNE#t`^@f}SZnQ+ER+#6g#F|m7-s8>I)xA28mS1wUB zp^PczFwEHKNw;JmUA!WByqUdTva*(?h=MV$rzedxo4 z$aU@tC%r`754ucFsTNA$1P9QxKX_pigcsP$w*W$W`=7_C(S^J1N%l_1>AwKT8x%F1hE2t z^x;O-L^TzZqRF`JA!I7Dzt6m-d3x(7O-@}~5Wf*0Z$m(P*jMOdYkYXLT7_BFrq~EA zO^Cv(&W*W80q+j_`_1Q@r}2(yUe&dAPuv&fZ3u0Le1ksr^n}N%A*@t*Mri4?5vw|z zMg}7Xib{5y#p1CB##fNTBo@2Fzo4MbQ%_1sP-_wCS>PycoX#@>s#%DFEpg+LztB;_ zxaFT!!gvS?V}LJ^==ck_B#k%!S*46m|H2(9_;PLe#DtOf@QM{R?^Tq`T?%@of`S^) z2q?%>m)d0SOO*^ZBC~Dwiyun8`%b2SHLWgxQAch?H)fe8j1eykx z*{C72P-W)Od=>-otFf1?vZ#K-+sXYX5|vObPf1WJN32q^ANb?2b*?#hNJ?hXGhvO!-PVB!IUgDx3c`@|)Tk~edZ!wef_L!p5;!EvKBSn}9OTPn);tMNW{`pX<*Dt72V%FbUA6jG`Tj&YF z36s>r-HgMvhm1sEBDDPuw2D|(Ltu#p)oUB7l&JL{YY&SoZwoyr94|@zg`4pU?Ghsh zOoX)Gk5m!RROaNVUMo3r= zEPi96dp=ybJM8w8# zq$yVcbWtFnKWrIzO@ni6n9Id);^+o`RQPVaDGKVS3|8Osy%Rm#1nAV_96r=1S+Ax{ z7LdAg))rqID4ceR*PdOak6W&0I?Y>30wtqi(_cR_uR^jvEDhx^ zdN8Ju7;e~a;m7~o(mPS8jSIiMJk6Vjmi5LSP`(K1@#dsu#T`$%R_q?GZ|aRz z1<+EjJ*UR5Fpa>MhA>5YZDMg*qXBh{Qnk+K>lkwaxCC$b8ta?|(9%QKJB~&SkpdVN z>9>DxrLcYh3xXHbI(^xY+8OYllT{DEt_r}d?MUs)jr#WQ;VZWewNBS7x9^jcCO|O* zgjTAxIthc_6Cg}!yvoQe5v)mqzXr1gyt(UDvwzsob2D&_xG+}Jc=;yo=y-O61u8Cj}trMzx)Ng<<&khq?dY1~` zW|j7y9|MExZiRHGUlQ-=HQWF?iEJE-eg00zWc5UbZe1m2az}o zH!5F-m=fzgB<{BCCQrB|ALM2hg*G!2x+}o^6fi@u40~mEi7MZyV+7hXI!`h-sTh7{ z3u+hmb8q$?<5*(W`iw~}x|RPQ+Sb#bucZHY*>J@<&Pj1fCAdAbzK$WvHZd+O#oF*g zHTUk;*TnF`vYZ5CZ-nNp-#XG~!3E&J^XeccA@+%)<50@oz#}zuzh|C$kEav41JAyt zVocJ~&(JokfdprW=M}iMaxN1o{UObTat{Fc;!bKV6vUgS)^|ae zrS-C9YY)CFw&ecZ!OFWCE$gkAV!Zi*&25OZM_Utzr*2Z|$J5`0{~fXac*@E6SSxM| z-@D)oCRU-KXsO^_OxQKD_;<_2?_M!;k91MfO;Xd%Q15Kq?53{fjEUF8O)=QKgY7n? zD?9i)RJHWzMo9A-C)1j)Y@gm)pp5B3GSLBNo-EhzH;lY~k11-oi(jhVW9wylATwC` z3WMu+JW=@3fXUB+6pj1Xm%rjKeakMJdpJkBZrz%sY~G3H%9fVI_X1Yu!;RA^E9%q@2OE)G`@1 zoi}%)|AWH+gM!iO{~Y+E#|*ChELs*Z!?}YM-o`n%rQYq_LF9sGM3QDoz?C%F?&j3U zSQ=g*SqKf0qZwh=-A*v%Kx7`yt;NhxXhu9tPquMYwRW&Kd5ZbWelAeksg~Jz7~}GN z^{4!~ojvm*B&=f;Ij0DN0vfago@L$M^AQZkTDhv1ndL8SYoCkE1yac*qZ2E8jLO1%q_MfNVKQgX36=e=fMzUPxV-foQ!~dA*H&5v8wddE&+QM$$WmA zlD^hS7^z0Yc!u>evS0VM2akt~eD5)*N!4X&;vQsbT~^;B>0qVP>4`UcAhL=iMRnd_rZzn(8vZx`^ zNzr28cxrlb11#gVkh*I7nTW<9r%t*#=Y*H1#0 zQ}i}t`4hAK*>ab-Ur!QPv2LbJyO^GYDR2-fQe1DK{m`yW?07A6E&G5#)<*A*U99!j zr$cveQnWVVVu^tmz>1}Jw)IBYdm}X|SMrM85uo>0w?drX|7Oe!zLRo3=V)mvf0#UlvhyJKFkd$Iu-WkbC3?i;7R- zasHEfO>Xm8h(ql3L%pidNX;LLNjW#T{t!oo|DJ9hRC*=y_KAXCK(JWmk-Ww!aXs$K z-^B5kdf)qh+Dl^kh^jm;^js{U$F)eu3_Gk;5j*iyx#t#3jGAj5jx36d+w3t$Obk zl;WDBO6Bv&n;b))j(UM;BYF=p~auC z^RXzCt6u}0t9j+`(t1w{rk1sV<~>xhZk-ZPdx|M+-~TxB2q zp?y4&-g%59EoS!(f<#%z);L3sK3?BEnI}vwpNe!iy@B~4R(e;k*fjEi>$MQiYwo!+ z>pDBZv{XCvL6HT+h@(1-csse4u{>GM*>LS=+2bmA7;h19Cr@gI$>iX#^F}qwAa1_B ze1cYp(K3=>p}9F#-ANWtF0)%}->Q2ix^o-LT0yyiIZN>^F5X~dyrY6B>Xt>$G!vX%9XhrqLnKXsJnaZPe)ES6M1v#tB$;* zh-YSaA|+jVSPk-}aTn)0T>{$WF%u+Qw2rH`OTBqq91xe{n9TARH+`&_2rb$>=M1p# zQZI*#NALRWZ%Z+9>(c$C7J|rnJw1M*=~6wimm_19-z|uv(Y-D8D?9kCeBt%Ir<|@j z-P+`!Y_26e+dsGEuXWcgMCs#BW?E_RK?JSjBt%N*B?Bi{i6t(BL)~6C#ZriB>FC`+ zWPVL&;w?cA2&B2*&e6$T?&;GL{K$wvw6za{jP$BdeVNa!ysi%S%D?>ft{>VXBO|5s zWj$V?s_eMFPD)?MOqaLK3_H!aJB%fLB*(lvAPDqscU^>EIjoR`CF z8V)ayN)toAA>kt!W>tW4I7z8mS^Ti+@?_4*^(0!4LkaNOmlNjBuNk(xE9gPHx!F%4 zZ?^Qf^DJ>SQoaxS%&^?IV)iX$UAktN?YOSH0WvSHG;d9o^AnpIC%SyruW|wjQf_W) znR+?!r5)2z^x>>}H{3h9UhpJAf~qAvampo4>RN4s80+ zE*73+DJ}3C^ov6NrcKeSK}&5^ZgMF#tSlV%{4t#A$x-yCUbPfM(%(h#A z0L*sDy!2rUn-N``d-db|Ej^RqzU~riiR-YR$|>gj*W<``{9lRB;MKscAwLVS8N_!H z0SZ&&c$YvB<_?|e;=VnZ2h94hHZ;h$&7qW`1ZigBd174ri=m$G2L6rgqiQYi4$<8h z#mn9)*P3B&pt=FW%YN5^U8*hR{EdK0U)-wdZm^>K4||O#KTE{dr(WV{_$6G*H`tR~ zrejmYw9D)Ko^X)Fd{#f_S$0N}tPrYFl9ZiX`eYhz9wY`}QfWp3g?SKX$<&aKv{!M8 zSvn~lm%o2OMjeG&5L3mJN>ZixnrhW3E}>sd3$DKO17?kC+nx1lN=!c3*+xN&8|98r*JTsmD&Ux6nN#4R9~^o?ZTVOSpTBxFF&s ziMB`F6C;cEdmf!^_}V>C+-t1wHS-K`1312nXU0oaRxjqJFOkG@bgT8C<0`7n<%e?M z(z3#gWg|%pRFvcS>~YnSA;D*5 z<&i;Ht)~f~$EmEk4f;awLVobyzx$9pj@)J#D*y(MGwidnNq0xTm9)O9zi(twWZE@g zed?<(X^_E5`Ono3xSB$5RYeXA3$A0_Hkk%6+68WQ!E=W$V}1PMi^&jVYhEK*40qq&l^<(pi{A znP<7Lt~hes<<$OxrzbMg0?4$SOo+_%|5$s^sHUDTY*e~{fPknVNC)Xi2a&E)14@^U z^xhPaUZjeKgidIR6b&sPRhmc%U62y#(gg*n((fde-~YYqUF&|iUs(I>dFDC$Omfa4 zd!E??@)(?m!BD{D36RkM`N>$uE$MlZr#gv@j7CTCV7U@xMFAwoYV>6cx_FqDm-(4M z9wb)!H32qxX0T!;UEq@g@?@GId>?fJY$v@HBeeoCoOAzc`LYAHdn!2RY9cW<_f|Am z{sH2saOVNe`5idLaL%v)IoJO=@wNXUfBtrY)ZMKtFMN<>!=~=i3J_SP8ZeH_Jlq2y zohGA2jSY)a>#zi$z(;YxX(wK(TTtUpipi5lYG}G)6LY>K*FJ z#f`&D8u&O8&%)u+g8((lm1S_rRPPSVvxP|cnY6&C|I)x>ZHqJX^(!z!s-M4Q1U7O6 zXm=<}Ha%zN{8)cD9JK5#?FS}&Q!O*V^4bWBj_FTK|1B+(LqJTW67p3)+%(CjbNVe(9gp`K z?n7nv?CnQE8ne!#M0#`mp7bb8BC)ysD1+lL(KY#=*Ck^LJ89Iw)pL!gwhyNb)<4F4t4?za^vB{7MRq&S;} z;k(8>3|B(BSnm2gyl3#Nofs;jde59G(ba6=j1Dnr*IRFtz&VCyG>f#K52PwdkwA)` zgZo7vI(BgE41^ese&vlqiEZI?htJP{lEz#lF`Kc0B4lN_$G_!}BhJC#cb05SuKI++ z6}>i>5lGqI_sweDSSo`YJM)=5I2OuxS5(MjPz`c56Yd%_Km_Wfpo>BA6>-3tIX^!F zSV_&W&DX zfa`S+^b*7MvUOg>gD~JuAaGHpS&dyf4X`@>ZZ87Ydg-r|&q7qvV^9^6--jj}>!HB* z2kkTx-UQt7^ETfQE*g;%f7-jS?FbHTT@aO6WhfkuYkv#cy_c}=^bld8 z${^NTl_7uH$D=QLctH{8K&-5v@c;DplC0R%@2|mOiQMhnktc%+ULqi{O}pK`Z$cEm zNg$t1-ZqIr5k4S{hO~z20}TSS+Nd%{8-*`bv1b_U$RfQ0z6N2U{^2`+8kD3&L*P+3yha?pl%Fc3u1D=HW8b-%c~cHEp_N^V%yPk6Uuw zt;E}_imtgC-TNqG6@l0{@41@cDlsZ8eTuq#Q)1j1G@satKj9d6!dcS5as(IuQo1JX z#UFD1OYJiK>dIZ-UQwBxxwZvo1B*Y(oM{w>p9UU)@aOzd?* zp4m4giq}{@ zS<%2hjPuY}TJSKa*0!KQBwFGylS3(l?3|i7%;Jj12M*42SX;ESTyFgvGfkCdN9+vJ zE%V46_8cr=;Pf!?g;>z2VxORN&Bl{bfod!(HMTMaCw32~w>d+Hg&i8p%ti{f7r&Z;tI~ND=mVC31ad7@T%ipqSu=7e~%s(ZttVsWugZjjri`mCc zKjr-T!_5{hgB@>`?nwo6@rx_zRcq-lKYhZ}%5(mLa*n-yhkz7ky&35JR!}7L=b-2J zfsoAe(Qn_FwMP$^;t>?k?}~_}@r{e%sZEjaD(PSI{Ndi3%vdj`?5{TjkoyCR3>ljp4;*Z8Vrm(Yo=m$ zd-wd7H1bulwjo`E@uWsjZmg`C>%NaZI%BwD9;D@bk~UY~gh@JoSosDmc$=tgm{e~} z3o%@)hXTL#|N85&{wSZjJoSZSlSop*Z%{#A+e`Xs8R9Lsm>Qkx&J`rrtqf80ZMi;< z6E;&}&wEI%7B`To*FCwtPrNh$aaxAFA#y(m30H2SHI%$Z_kLxIqR%Su^RTPlg4@C4 zaPQ8;&cyypuC=`pTWzfUm%yH(U%WC%m&gxzIvaBZs_AF0P_A6Lw@U#KXQn+=r^{@n z2a?CnZBS%vQ)v8gZ>;(Hom|^_aEr+8;Qb5lG2OOdD!QcVl{vXStNsgy^7r&6^0g18 zGH%{AJyy8um?5_|x3M1Pc7@kv$UYF!TNn8@BeLtu_FZOs_*E}7~=hP$j8a;x($Rks-%ZtJz@zmSp6D5kzsN=;Y30*63Q;$N4=U(!ef4xrV3Lz?sZ zrKQm$(XU3MyGFOKb8}-DSf@oN7MW(Vtl)d+G#c$|dT)HVNuYfP@YUq^Kaobu5$!7& zqSM7^6gmj*3+kGGN|$q8Ec@=OaZ~rng40NdD5n|w?r`=8W|>_-Np6h%N4dHPd7rg8 zH^`v2)hf-&K)H6kG}@pm6X$MqgP@YUgv>rL%k3IV+LtGJMG4MQF&`FYRCHe17hhmr zV3ufqYLcuqg+j7w6f#j>ax<3j>!$f85NC+s5}ZJBfP*{9!W#I%+!y?q%xR<+B5Dh> z?@~1mOCglfMV0U*^Rues*KmypsdR!LXlF)0UR?DsR!Sx;<5!zfj9RLiE<>D0vk#aF9*vchLY-BfI($`#S4G{9FlFaerX_Jwfr)=uV7N=4 zE~UeM(U{$|ggPlVh5$&V$pyhk4txw{DDPyL^@=Y%r^Q%Ey(aX316wEjUpcHli7Pc) zY^ZKgf1xV7UC)B!j{J|?1r*}Ashc0vq{EXg$GyqF8^pSE_!M-# zo)C3%EAO|T^MCxT3HAv=EjCR$^yy*%-mF!dnr%_YGmH9V zuY{jgt+k;K7Y%Qf(C+n!qsw1L(x)7&Fpuha>LXnuK+j5NkK^lOqJrg;#|6S>;qpT? z{zLtWdxNfyTJ8m78C8OHDQ+6hPefa%^4wEV;oa@39v+aXMlH-u+Xoyq1xt~lr^lMy zU)OaCTvA7`XU9n&?TKcdC4H(2j<^pmRPpBC6UD1N+BfZ+y9nxpgIqA6mgr6u;yZ@;o#uzRA7o?7d6 z*i^nIp|to|&K|M9zI30OCN>@_oz+ioe{xuB5D{U`Zu5M}yFKkRsARaGhF6ppG=?M3 zo0ObSN+a!L>{m317BGzN>LCO$mh!R%vb$+%Aw54C=U;er)4c={qq{uOWaSHFo(zm6 zs#1A`Y5kz1s=@Q6XW)8|7?hMgQNxnvVAvlLe1ILv2$n;F<$Hj|W}ybR%+l5l-^&Id zz~W2nITPX!Z!(c&B(iWE<-Xc;ll1qMYvkxOE$n&re;&vQ)yr#=K3|tlES_fM;S+lx zRpuwKdA-x+&DgU&b5Va^3pwUiD06E`M@Yq#5k-HgUel0=I>EVk^FAjjRHO-mrPH=G zCTAq3aN^lsqrAWGhenQb#vq?VO4C_z-Y{7wVl6QEQE=*0`srZC{od~LbcpK+^*XNo z%g>K4Gq4d{ZM9@p?s}1XJ_dgGQn3}90VUS#@VN#V2^GJl!MDvoE!FCpU@l}83Hlb-N|1u&TgF?HQ`^B6+HDd3!IurrWH<=Tpmw3D)b zQv8S!PuS~PSMuv5m6K2kR!8FMy%>F*rESs{!5&-rXM8-YDv>Al8OV*6F$q`|sjbE`#agQjNV_Jce_^}apZ$|fG zF9TD{`!?3>u(g+biVp}(D=TPh)(!UQugpv$wqF?TY9(ct<29nuqNlgse9>hQI<8vFsrW?ASXoYEGdJQTO7bitVal_+q^Qk~ zvWAP@eIkD?hfjRVqPetzJTEX46<9pb6D-}q6&gr}a_;&a_yjg^d&;pW*g?^ESZqo=^EY$}QL4Z6>b*yj8M!x!HV56iDW6EngoS72MI?fc z*KQGSPC{)RJcz%5k2f9cjv`@8Vpf}W8u_%+H?*=;x2iNLW8d9c9j*XQAg1rK*wk`e z3(t{B_faWbM%tB$RgS<6mvP7g_Av?e(xZF3{YmL*SB|!9I6JF~?}>VcyI#rj*2IYF zJK4EyXokOchky5eYIl;srC*A_YG%87KP~Ol&PkkTUKC0(bNZVYV6b4=uW;_9cYFe6J!2F(`d&JGU~IaG!Xd!`I`TXM-G}zOJZ;ZhrJ6 zt33w>m@0$&i%mswT6p{CY%27O(@u%CC5ZBDO;OIpg*_89_eoYp_3Eqc-)nCv(b|0D zUexFpPkei$H$17#mh|Cx>dYvyBfVi4P3$vLx0SR?^I(p7KBTAx?d1_>iVDY#L1Cu@ zr^B1beHXhYysCFw_=!l#VESb$L(#R|h&&Y5U@ zH&Q8<87RIUi-9WdrSqTE*v#ppZ+#?E@qtAf5?OQRdErrKa(vYfHQFyURZ!uMd92T3 zAoB-F7o8N}^%r{U)jufu4^)rMK$w>R>cBzsBKBj~E!#7oTq9WOVpLvu&Jt8$1SJdj z=#ua>LAAy^5;1Kb&tMAzfQkhocj=o!jYm*<(13%N09(NkR5Vam`PV)4zwT7OyMrozSVT`k6`@M$u%BIfUU>?N|L%#dtpgIkyt*$Bx3BwJD^glZO&i_w*2ZFP2^cU z24PQJ(Ws;lbpq^4og$HPd>zMTP!JNVZ#6jKp}>}j%nwL2(iF1odsLY*6;Y8o#TYJx2C z?!F1AZnN_m)S7L}LQw_YU#Bh+A_Aw_NerACe4_0U$fJ{Hlv}Vilsw`evZ@h!6#6=K z%wC{)?`Q8g~fonvtJ?7 zAz*&k8l1aQm(miHb-fJEwe}xW<{$Lsf6%-?(9Jtb)?fcpdHrq&6=IR8Lv_s`wM0IF z;p%cUv;4}1Ef&i+UnwZ;3CGrzP4c{dDYZroTQ@dVs+e4J0$XC%niDZX#N`HyDFNdR zS;eQ7M5`F48SUpk42{Xa7M?{u{zJQP8(~Hkf^`;YB0Yv=nm=-+Ie-(4S5gXJSK~?t ztP;fpnwqefd@$Ntt7mAz&S?N@^B;8VAC&ArsMmi`qyM18SSZHLw)RGOYE5WN9Ij|^ zQU1IC)BHXLzOcDC@BiCO`_G&3pBeN2Hh+v6&|RRF6!t7<8h;a_WQ|V~?y9Xvbb*>S z`mzi6^NBJum56iQmZJP#t&d)(U9>SG&ag_jQpML($?xL*z@ilXPG^RDBOcS3#-FW^ z>hi6M7!d*KTWWcZNHBA+H;O{M>!+Z-4(ZJj6M$gvlEP69PH9ZRu`Xh{3Kc zvB#h>$kCzIn|jVbWV+Sh(#HFMRLx%65s>1E5=gD^b8CT6E%OPuGZ*sE2;_wxpP9T0 zgct}a9AwvglHpu{RCp*9-sd$4g1%@cgC$MxL03_9{&il(I*o8nD&TDQ^6EmkkcTo# zIr4KC03`KaC(^V>Y$mT9fdHqc7p3^q-qo&20Ac7x^LV3NiA4UkGyiL^y3`r+hcqtq zoRqXN1d;}K6@}t)b9bxJ!|C8@#Hk2=E?ad2h#iBD7b-E4)mSl28V?44n%C1=Mel&m z&V5XACrRfna3;VT(-S!_uyUXG8sv5}R>JebXW@3`uqAElAPqo>G24R2d7{9WeXN$J6Fhc(i8K>m&`xty(v|K(Rv;$gNCn_GE;FRS3n4bkF8)EbwpIPrIxKib}k5d5G)=%R2o znO0t_(pE(!CS>KX+?YB)u25h>N0JRjmrGlLFHW4qKIZye{&|(H%7yE>j|dz1%}DHC zJGtNshht|KjB6P(n!8!BvkL~OcH$YB*-+ra`vz6*!~-xhSl~k=gSvL&=0PjxDE)%NbtGPLCnCtt~KlFbkcAB(|@Cc`cK0VHkW(uUz>%CotGf>;W_D z_Qxi_ab_&m{PJ(6V4NnG9Gm_JlM0+}i$oCAsu7rqsJgR^&yBGy#7;GEsH{OxgF+8G z7)F}LXHLo^k9_$ivXZpiBao8Z{Om&AyF`rHMoNB*Ws-OX6Ii~ z8BgR#HmD4Df{?R@^-r3nsSk@HlRH_HKL$0u+<8E;HT~V;7%*-`z-wW}zX_w`rAj$a-hCcUX<)EhYpARVZroY=A=_zZ> zcXrduj|c}>Wd3}uxMZU-uMjpQgqtzo^kQjQ>8I~9$j)p!UGxw7If>y-m}>y#B(6kb zA30V@k!L8>oE``LJkE@)Y8_QE(Q443o9AT%d*VIDkdVi+Z7=53^< z!EMXdK_Mlr1~CVBOQ$D+CWHoVm~XS-IS~R|EAn3{h)eDWttAOU548P;toZ6Q(kCVHRz}J91|F3?1Bv5@NqP8IT(ul#-kE5%0WF$X;InK!kf@ zs(U^*dwQVrOx9S&lhFpBMSqFs%!3;BKVEw`+0XrAJ%+EI@bm+x`=EU7kL=Ax;N-$O z9bfFZFiz(MdriuJ-_MGl%dpK0cvE=cIhB z)qD5@DTEkty_0r--v)}^)!_s)<=5`-B}d2oiIz3O));vG=NhV~i2ccz4q~jc_bRVV z&&Pb&p>1nicf8w(rhU4?9VO*W)`!M?HJ);?Ee_)6dGnE(Am_d)5@AB@kN zuul3~TggBMcBY{8yo@PShFp9CNGMo5{gDl6w72tvouGYAeRe^iKkk)m%{}d<_y3$f zuufwE&C-hkegvWwvS=r(C+{54S5ng!&~`^VPM=_s!lK>q_+P8TFFD;U0XSo0^zAK; zspcMjZHbvu!?@)4p=rihF7Kf3Om15+S{8kLZkArDLYtQ5 z3$*5KZpb?Xu4T;B1*T>1+uST4rwMI(R1E9p8-8nlBJ*kL%CH5fgWs`{vhUb9rbw0V z{Hyy&%wi1@RfMw&NaoI&wOT9|NZ+`$^o{03M7|eOBy}eRhwl`U7++wvyHz7J(ZF~y zflI?7I-)+M^{ZNg|4*`sv8VMZ%2N$%tQrmxz^y!WdohXgb7~y9eUEb1^(`<7)YbM> zbaBh%$1irP<9b0acgKtqwB1duR^6}@kxD$Lz?&l#mQ5Vzj%}~W?!H~w;ZN2kJ?PeX zyk?W#>n=uft^ zn`ij+Xlk2am#pe`C&l)Z0nSF&$^tJVCU`As;|U$sxmi}?==}aTye7u z%NwHQcu2aRCA+qEq|)1Y-g{MXinTB<{?PKhEmvA`e0 zUW1(Iz%ujwG`Vf3eb!SldB`-^3E6u1w%mNb;*XCzvHjacCf$;U=bxXP@7uc8MCFKC zFt;q-)?_|>m!+$0fp3$d_bE+o%UOB_HZNycI-$w@>m365%&Yp9p#zvfxeqb8T|4@T z@A}Z4Kmp0!sImoSCGwu_w}}lxZ&@Ewtoo&(B>k+RH{=?=iUdw!ye`I|lnarX%#W%N z56{X&X1Gttmi#g+CH(@DZ$KJeiUfZ7B66UAZlATXP5fBN+5KWSz~^Z)?^Qi}bhbpE z(BHi1dxH^0zVpUX=9j4!r-7T^$ z&8FLktAa%ZWcgGQrf?)Nk70Oh^Y*@`Gi;azEHKzlkwZ9wo_Sz-!0{lrXtCN$Vc^E3 z$R#^!(WvlL)PxBIat$%eYdLjsAU|s`cUFS!eL3M}Y(jwyLkt|GDViU;>bLJ|Izu^3 zMM(M92JP38iZBl}2Qp8C`F+K2u(e>|x4u8%n(c%ef50zhbz9AguSF3?txvoPH&q~zg64=#QC$ocj|1!l(3U2(zaWx-nG6#ii0ozDK8)XT^8 zm-o+slQGZ|WZ}i+Re=9820xSJ+PJcQei#+i$@DUMz$RsDpTIF*Nmlxi zFk^8Z{j*cB=mX#N7EbAXXAg`(HPQ7+0cMm~t&9Hnqf|G2D!-_Cl(N%Xt2$*F7ky~F zQ=5Tx*j@3>fkl*>v$Iv5+Ku_y<4#De7ogy|5|bw|Ua4LJnC<4#p51~)Ff4OK6VB+RzjOH=~aoI{H`_T;s`5t;xs%+aw^NL<+_pQ zAj(pAri!=o_B$oM>&=CzVtKBNO7-IH@%Ll%vw_`^+Izswb0v-gldtc@Njz4mmc>}T z2IH-wAuy#G4}5?!DH&65(u>zh=7JYHy*2>EE}O({Hc@&-NkJKxGLU3ESBBM#Kc0Ej zRi%*TGRRv!=)PqQkJ?Mj+;q|;ERa>>cZbWcFZq1l{b)chV0X{mY*4CiT0`f>b*~P%b@^!{A z$GT4bTEZ8nlphJOK#E8gYTh!M<5x?g&dm@zSm6Ef)xp5~#E0i?Ug)GHEnD1dx{BW& z!I}{fTdZsIOuYOR-fE~kQh0=br ztll&fmuEqM;nI7=c@WiKN`{6k!y3N05!f9nUtUv&27Yj}WZXDU`Bt&9A5(nyXINyf z6Leko(W;(oPG~U<TIZf`AKR7x?z`7Yep2Q&-Yc)k%6+mcms1oZkaX6hB&}UR z4$$KJuZ`+-!K4U2Mksrvo+1dNn(bv<`sn^0%E#}R8%4*ei#|-NIZTevBrf~BJz~>q zu5CK&@>1($iEnW9)K8)<_hd_;eGn}5SQo1QtX^&zW`(l2Y!hs7J=v}QqT}aHI&fi4i|A;VZchO zJ>F_LIkvU`vdITEOCU@@fb+dvD!aHl94g-KmD*U}X%$xiz zw^1{l7V7Zjbp99T!IpzpE$PI36mx+o2UEJ+dcrD1TY>NcbL#DT10_G@bS>94WGyoE zJyeKJ8Wp#akYNJ6(R;@jf6;zj#aObD!`-!pl%*oe7_!Yk&$(`6B39mC-Ni9N59n$N zXM}vY*5A=;6LA4wJlcQtqi$%|$7GwZtvV9&HdbZN#{TZB9CW2*Z5M6B<~IGyerbe~ zwI$nz4Q=|D{Mt*{qN4lgPO~&k(kQQ2c49Vls7$oK{&k9(cdSXxKbTqkM5kq6Yw*`$ z&UzHtkEZVZAO~1`Q`~+~q2&qJ!eQXYZDpd}jEI#zynZUWqt<|>D6$i)_gl(DP3pcu z%mPO`iYHvgzXHqFm5C0g7Y^j~JWkAz;9yU(sBxX$mig*MPqF_K%imcC_hGUvU z3J{-~1Duw5PMZ7Q0z(LQANm+8bvIZ*o2NW7_;X?Ffi4p%guAi+T{KP% zX9M;`59+6(oO0=u%gO}*pitL;6hZqtHR#*7)`nJvFvz!A3Kr$b4EBHs9T?=0XP1LAh!b)ElXrcm5?1%OW{?(h~Bou5BkuPmd z&pWIOdL8E6iWnGJAV!C86^-36c=;Suvm^v2h@B`rBtnM$5@lF957su0I?^3kGT5V=sOBF$!32oed` zK4Sw7c`w4uw>nSz>oNy(>9dY50F@<<>EIgzI&Znq=ZaVXEV3D{odfER%8D?#XYiBw zoWsdx7qSBIL7h;bl{ISN&Q`dC6UZ9uqDcloQPQhm);e$#4_jyyC~R%B1J3-0j(yN3 zz!o9}3S2UU{WGBYC{}i>q$3yd95U$H?So`Yq{?}P6WH2w<_4U(n)z{VsxDH(pZ1pn z2ea=t1~MqY8AlG5y+QHE@n?vX7}PqM>LM9h{O}TPvw78*SS1l#<|RCv$agLb^}fX7 z$icDqSzJ$Z8=o^iZ~iJk-tfhP-?kPhEy=a>1hUZttg4bOww(NrD)Zj;M}Jh82v^PP ze^i%A&&mmYt1{XVQ80SPuy0R*1vonv@deI*chiikW40RqnX zL1|+i`Www?HLTPUiTK?MtIE9BPKlLD0#zm-AC};^05iFq;*S8ct9y(XE1(2oPfj}* z0&Wsql14Ew4c^&|U5LQnhN3bdcbay7sqIefU489Mtl-EhY50rjP|vmCFu-M+FM52VghmsQ*m@l(sG$oY81&34RuJOoWPb(zo| zK{2%qMNY&k{%FTc#P@Z^PG0`#hKQeBjz)ftSNztF`5X`FB%8b(;fA1?Tn<6@#49eg zV|wEII$|d-tGFSaPb|}XAyaQ=vdVibBMygB~#d=05g&c3&*PgN&Hatt$@q$0N% zDYbx4_`|PJ16l*rTDLz2*oz%UjcEam+7{}spC5+`=EH5}_t2n9ic&>lQq91eDG8+c(f~9Gmhu5}3r**l|_>ofUR(CCVX6ekcjtgFa5+Sg|&etzD# zE^?<2=gM{N^nHwVd78Bb6-Z91Laq*pBYXp}uC%(y!#;OxM;Y#=$0Smq(Jd41-AId& zQ^Q(AQ>2h=4({qc^vXJ6fi_kiKL5-&YzXMEf&3hoRRzxhAU_9j&TNC{0MIVSFsgbS z0ChI_rm0YJNCm>M@^TY45}H4p0to~-QlJFKWoW_8|M?GrqL;{@UdL&jXnBVAYO|^S z;ez0#4H9@gv!{Wadz(3pW^$RjQpj&PZZcRw1y2;VA+6`Qta=#{VIQ@(&hc4hJLtXf z{(DM)HL2e}38nHPiq#9R_5Fy-5F(v_v5A>FzCl{S!3c%sMR01A!O9druyIE4w`eGZ zMX+#!*TUt#tJuf>GSDzRt-w9@>%e1ub`AH~2Zhf?r2Nk?VNA+CYhMruC#awdfO5zF z|6@1xzRtdOpP0msX^gWt4*i3NfwSc%Js%MJe7Z*Z1FgDegYtiK24e1^eY=huKB>Fl zz8U6k?cSLZRA(BT=5LiEYbJQ?19Gx^9|Zl#t8wXBU>;TvI4>S_PmtH!^qM~D{S8H? zX<*Z{-a>0Iaqksz?_=8^Pt8zvf(>>hO+5`|8efdz+Sv3g#PD`jiKd)c@ohCJGkU)| z5uoCo&3NxoC$i~d3lg#*;WF!EJHOI3Kcs)lee=Ug*VyP?khI<85<-+bd+(nPLY~nA zA;W#Nb%AQB9!>ru=Gd#sM`+SZQkbekaOJh~-k^Xl!IsAww0bM|upqfU)KBVBXVb0a zlOiH_%d5|s2IWE8^Zq9B;_Mjfu`Y1m!nsjKTKjr;KV`^zyh)uevhFGXKb+@7b=x@B zZ3;jl_6eNCv=#j80VIIST304Qg%$yzFdR$wLDz%I0Eew z&R=b?soEAT?LjSVj8-;K0}i=FJq3#Ld4EWwiFjUzZFq|3}4@<(I+rz$@1qf2jZ{w(p5sGWT**{N>j z^=|X})KC{cnmzx?hi!Gtd?YQ`xP@hr{L`i$jS3raerz`OwJ~gGP-%1{#m_O>ra^2} z{K(ckozqyT*M}lFEyYf4L?fdv5{u^$IEDqM?bO<}wso@znJXC#oF&~84FCRAmrk#d zOVYId-0p*TWX?}&H#6e>V!JM~Zwy|ovtCg5uTZ+r0`rj-3l*bW=G<${Ss(U|TbU(F zg0g-d9_ej;7Pg^yE5FrEugWL%~Z)CB}FQ*3gBoUBfR2 z#rbmXmvQ&-OiO@N?AH>3M{=n_BYRDn6Yttic;>C|?x)k~@Dm&JmzeVLT2$aW5si1q z?;J)}EfFtLj$2Qw9yjKGuMMqjts0|tJP1@C_a^X;axD)g|L5%f9-8eZd?0NL%NEcq(_mSA)Bdf9``?E;Uf z)@Fgul-W)$6mWxI!dXf%8k;S>mGt4@B(RcU%Lg3HrVm?mfaj;;VP_i(CH}UF+=8al z+Hc<4_*43D)NzoSWt29$DLNS$>et%dcV*-St$-21P^3WT+{Xj~AHB2-E zCXck}-WU^?tUw*Wl885&y&@i3QS%>?&2%MX!klG(FON{cd4041xc(Eh=@4rv*md?2 zuTI6eqYqZWi71Oggja+lV+p!~IZml;j^`82QYpj>=$=P--MRXzRkG>bWVwnr2C z163FwYVVW;*&qz{zYq&P+0`J|>bn#qu7nFLQDJQRX1(#lo zmO)J7Ta`A)kqF*$G;e}eQlVIHx(=s=G3UJ!8oGRA+BYA$-l}xzzx*KPtdulnlcZX! zj%dGANRy%B(-mF9-^&oP%&|UkFaNw2UCh>N7n!n&nIA) z^G5xa>v4Onek4~;d`RP}u}H3aEBpBa%*oQ)NbU5^NV6BLGuH{h>p_OvB6pvk!}cjFmi@^~*Jg%w~1ZYx;4Z%bfS z{`?>$_Sj|J^U>kV`c-A+`H&8UEwn8~@MZc9is>x)yUfX(ziv>pss4&~?>phGI+D4- zCR9^!%it}@n^J>!;Qc&*vf-O;K)StGxvX@3I3*V)hF5%UF)!l<6sxV3sAp*{u`ue&#hs?yaz~($Ak^ zFKn+oQ`&_j<;4(8@pOuKRv!soV9qW2h>-pA)MXl6124`qb_~HuQiHQ6M%?cedrdxz^T&km&QI;})75)A*)zM_d#?a> zY&pph`wa(oA3_pWj`Zh13@SrAFlv1}i}%G^`g?FYz{{J?VibW)UP8*jzB>^sRi(YM z#^>K}4Q{A;O&1R>$VfE%_$XN)q1ffL1QHo|ya|!Lb-3pPs=Ygp20ksHrTk(fhHfwR z62+sqErAwYNC0A8JNzg9&zMH6fIfBta120_dEnoj7woLV18v=nH6Llc#h$uCTnVcS zC3QfFJaUNrqr3gh3%tu)C^g*O4wwVYvCQDU2FwTVpD`I&|7Gq=<^keWH!g`W!`OHHqgap#DLLSa}mN3(}2O~7P0+9+zviH?CEm$2bX6RQJ&qm@BE>y17RL# zOZ*)RV0QkCSl+b^H_C2YG(hcJ(F-KVAfB?)HG%F#vmrMh!ciNWc-7y;)T3kjYPu3` z;92$TihqqZMsXcTeFwr-bi2TVPZY1A84%lcl{fWFuYg_H8DkH5|zw7Sy7nD;UZCSQ( zj8}E_NcrIPYh+#1-PKG=^IXQyN;$gOxm(L7ibr5Yb>qB2RY_7R>17iCu`3rb!jr_e zg*D*IvY8j~s~=@gJ$rue=JrMaK_Q<-$PPvn3qttfzqR6cQLoiXYDZl70do^ui{~{$pF&-S-zZuB*zK)4#YW zL=sU~9%99fH*eYv7OH zi!gl`iaFy85>%2ecHLBbe=qQUf59iT9*#|QnV6H+HBaJFS%AiD<_9iom7Ef`_yF4} zAA9aUNv+L$1N*DL*NXe`EFV4mOC^S=OZZE5a}u}G5l~HLxp6R62UYI+Ru^1R>i`=# zExgV_55!|vfQ$jE*`?dqRG15(+VEz_E{OzJx14cy*b3$Ga$1;O4~TO!hOU*oT*-&pTBUeIDjvxHJQk}-+<)QFom~(AzxDVA`|N! z$BevJ;GdbEMCIp$;1uu`qg9T`-DDT}$DK5>&!HJ8Kw_4x;}bEH z$T?2shVAn)nSZ778LyRrPZz7;10PenWro-n(3I;ELf#Ka+wM#pw=LQ}7tH+??O#3i zzGsB<0<-7$iy0|uW=cP)tKG`|(q3y^llxl2Eg?i(7x9(-hq3jRND0=J&M6`E0PAuy zez_%riiqu&`mt*@CnCedCoorI7-cs5^FhAXF|uVUSDpM3(YUs4*uc!X-s@W@LAT}$ zfJ}~$EqJW|S5f2+)t+e38`jg=pmuE_lUuVtvJ#jn05Z7|{F5^Hx-P{Y^N;yM9p$** zWcoXlRW(&jvBz3Gyz{%iPZ)%s{~ATN;eova>C znq;ewox1If6wvfFjW_HRMI2^KnoO4l9Ox)bi*0Xp6|CnR=C_4e=GcqErpb~5=qQ=4Be;FqkX*(`@K#n>w9kk zcxO-Q8+e)39nkcCrCkLyi|)H`0-E~fbV+wJ9$uYZAN-~FL4M-(&!ULn8V%rW`tthc zF-GP?YDy1(aC@57O==$3qv z<*A$9Nde7~r07-?^YBSg#IN4M-SwrsU|t{2VkO`K5N>XJ=2;UCqaT+1vG1t-f2zQu}2_2DY|`K(o+xK%>tSr zak~9OzxRM~x@Ybj za)f{a0V{B;eq-&%(1<}%h^V~0EEGaOiQqbLYqrZ@4)U9p1}3CkJ~c>sO0gRxk-sT+ zWA2GTD-j^|oK=YsxJ_^u=f2yG@e+f+!@1uf1XKyEaBiz^3``7Kg>zRS1k?#Uac<9U z3`z`IjdNEc1T+akaqdtMwivVq=dM8rKnN1L(>S<~nV*qnt@kWw!r)I9y{Z%_A_VPW zh|kI?6`W2i52fKCkUE6GJ%Vy9cxPzw>)s3VzT~%|YdGrN!TTk|A5y#%5T9F9M!dwKjflAUyyI}cZ@bSe z`fdTR#eIztg%dBqDsR*5!l{?y=bI66-x){mys37f;1FK2zR|Ih_D#T)fV!u4tj{yB z@QKE#0u9HcQrC_W0?mu1d@~85)X^mQSSU&v4VxT zWd#UhHaQZH0XAHwPeE6a)^KTA1Bh|+kXFf&1Po!rWi}KB3=$3=*cjf6aX1JYgm*K% z1mOx}V=%&otD%Nbx%G-8wNNd+kk7x+A(4}HR652u|!Ti zHfn|sZqW5G3Y?pHP0oEK+XdF(BOw=-GKEZmU^MLK*dMQG$&+B@_1C~UIBoPnLE^FQ zg4-hTX(BTCJ}UUlMDN5*Hf%>*V;AIL!2&v6lw^hBv7^BnSB}=EjQ`zW8`3t_W!U?^ zsUde`r3dr)q-)}VT{H~r1RQ1SA7Gq%PFL=8lvbo{gQfSMC45w;mh@`wHgzdd=^jsK zu4?nfCIlke{POjt*&+pBvS3I|5E}9^+3iI%Y`hOe4;|vRG~YDdVl-2+LQz#q^&`KT zd>py;*{}WuIH>$)qVkRHTk|A|DWW?FlXP>(F^^FD`x*&9MmPJm`o`zJCMu0n-Nfv* zaJfFws>6%ab0t+`$kP!lLNIdG!GFQ~yUZeX?DwQ}v@ z+`z*J%Ma%y?(f!lj@5bYpzh9Q$ZgIsRymnAIOy%>zc`YL`hQsa@@T65DBjFnW5}GT z%=4TGA@e+Do`+0jie$)?LbzPlJeE1cB_%WA8cHsSj2S|SsL1@j=hCmY-g@i3_11d- z?Yqxs@9+0~&$+I%&*%Hu&Tl?wsjA%GLj&!GIG^8<27M5uX7*M|$i9AUc6dg2G1HU9 z$%mTL_(cNib*x`^AHE+@>Atl$hp3y_IM`AyQ@nQW=c}HvXZ-2>&j)o_TYRO0-Wlm- z*#u>W=k!T7*w}nzRjRGMG4R%Oz~gnagClsjtwIKV1sk+m3~x0U&J=3#NNvkBPRImR z1JMKK;I`fg&)lnk2Kz9vWqP5;*0bRtyOP}v-t^k@p;JFGBje{U556ZE3)?h{N#SHZ z8wgN~sVqpQT(=&dQBS8CRpD5y5}IUiLq)!R7+wG2#fIF%QQ+Z%%_ifkpnf^<=#y5H zx1-xg#H+Z@vXePvSvokN3Er0+Hv9EE<#r|yQP}Ke%@71i1&2wOYyIi!nZXbI6R7BQ z&LRSkxLDgRoc0s>=JEP&I|#2xs6OQ zpd+#Ku4(Bfc+jt+^!?U688##8oMHu+U2ch#JdEL`GiP6H4SH^@(`MVR@{wp)w}an! zq$x@d#l815e}&&@Bs*$|!o>HuZpQBUHJvuc0TolCM)7feosrw)zO}BaPiJ|IGfD#A z3wpBVO3-#lyPTyRPl@m_+Gv)es|HH~f6&nuUSk;SXuYaUj?eUo18|4b95Tcuhg z_j!I^r|t7Vw>-|oMdRp_+3KZ>%#l-vtH}J-K##`p4RXsilZrpu8;|7sX861gP0KOj zE$n+WLK^Ggzwgcnf4L}^GIjiQv)OvEJIrr3p|h?-V=|KM1z z$tEy;#ilu3Yit=C!c5CDv^T=!A-Gm6D5U8J*g*FUE+r>>miws-rHKd1@q*t8ODoRF2V)_FJk^U_UZpbvUC=y|mdGVcL-qW}(h~ z8`H1`=c5@JB3^Z}9!DuxsB44$T^!UeftO-L$6W?iBq&=%+~pq#*Oh@x%})Q@aNQXu z&j}`D@{*6;{ur!DTtZh|6r5$GAZ$upq833O>@ou;N2)EXxmtNy{jk}LAtO&kCjP4M zEf9xWa--Yd@LK=xf==NUu9D>6Y)kj_JJM|^N6`1+zH(*nwT_vKPP`H6M^vW(`*fCv zT9>{lg0M&-Ins31v8dE< z#`04Gt5|PZQ~a`enFA89H!Ul^{MRffzMOFC%_zR?d1B5;)d0#S7MfUmx%A6PR9x{+ z$(Mt$O6{=O^NnG}a}>nK*_->^Ty5hlHJl@_90XeAq)KZk?9mkVAC*P!o&}pxww;f3 zyLic{!4Ga%vg8!_dBxk0*XMUMeq0>Lx6Hx6z=#Te;_&=2qVlniGtP&~Y5s**YaTV- zAKCaiw`NKIY%{{i1rra>@exly`zgJqtiH>Bo_;yvVY~0@MCP6>nK}3!&A`eRFu6t& zZqwB+r58E~O!JbVlvMh0`MNQ=7`9x)GF{$#kBUhOw4$CpSA1Z0G)Zar9A}b-kzFAg z*D=uJ()dHWE#;ebq<7Csq?c5(YvR#2yfBA;NXO5H#U2jQ3AK?TL)YI0)zI`i;UGiS ztM9-A&$7!FYu5a-e|!av@qT_ln`)UeXEu?BhQGBSFx!(rUx*4JtZ*dvFvIU{R_C*x zs4@xZCVcfmCGX<%H6&lF170)Le(?wAk5+*En(Akbl4)Es<8Q{O`BrPqa5t`{R0=*@ z$3>&OonKmX&@j!JP9#|gF-dxmnC*+RC2iga7(iOp;@k?VRZq#a;Jo1(ZbY($ALN{G z+y}sj@pszk%yln6JUi53(?Sf~`Ymc z9l#A;i%SAoRYb8_u_Re(l!2F}tq>sgYK#M7Zy(J!uJ7>PolCMy4Vz1mM&wi)Y7K5k zt4umi3ph8>FDUA-9wZUs9k-2IOXF{H!18)CJxw69g5`wHIzjV|e6_|zQL4ggWPkv$ zS$nepo3+JZx`=t}N0?LTR710scmKPK8VznyJC* z7!J!1A6gXyaTY;4AM$bx|Ka}66JD?NPD{CWZ50MEa6Mg@k4Vv7`)Rqp?{-SwEODeX zc#dFZ;;GUR+(2HS=+{o(o24}l`UyeTrw+l?QnH*{4HXjscmW`5e=4(~?NuXHiBo`z_3V46#M2UKW;fxC5f;$=toE)`pg|xJ{yT+4k^7w|AWHfmd_!bp#26^jEaOSsps#>eg^Ek%` z9HHp%Fa)`4Pq62SlnXMWF5mvbjDf34!YT-x7L)@`<@Ff@ick=K9} zs0sG1HMlsDY4W(3sg8qUjkjsx+s4~;4-`*I)kMP1{D5TNh(rIomFk_Df$lGvPEl4@ z($;hHbeGJOI|G=My^*+T=N9lC_Z#!NvrHxF$Rq8b3}ukj6<#I2lB() znUPt4aJp)G>b`Nb4b_E~6sU%^^Hgkl%JglFc;@roG!iSk{09(cXNk(?jr1Kq+wBeA z-IiV4;Vl_DKRQT3e=Ht(C|FNA;!6A}LmRz*HJfZ}A0K>j|3XB1hH=Oy>OlVL&&)_E zTo^`nXk%(O)OSgoKoSq8dM07{#+L*6ms{+~#Boe`OakX0l6F72_!x&#*Ko5!zY>2W zhW%=n2A>U09MbNS2(GKNM)xzN+AYv(a*mX{{H_U)={>iub2*=}Tv%dZuZ&3XoT7P? zLbKIkGDq(igmE+9c~>SDQe%mfxEl}VJrSS7<5aP!|6pP?q`TC4Y`|W0+fT8gQjl^% zT=(^i2jY*h$_5}qmv;;0Y;0d=QHVvqCtpT*VP<*tfWD|uowNK)4+f{dN%amIxN2!JXANJ5Btj8!P8{DHB__zpUNE_L~dQuY*_ zdjDX0uJB+b5LUcOWJHo%G(Lgd?XC4bTiqvW2w`puEAb~80Cs{7G#&-J&sU2RqPPjM zA_tvXOr^}ESdoN!hR##zf`)Ec=?y!qw1L;gyW>o$Yht2HB;5{A@TiIU-WY?e_Ql`- zLCH_05sK3rPLGe%ZrHuvP0`i{i)QnQ{&p)?I-xsV>PxopX?()!ycVP|Z{<}ZQ)B_W z#bVI)a;!>+Bc|-^7A!)H#6k;Ju3l5v>yh}0+jAh0ZRjq= z-xQeW9jwg#{uVQ&Qt%3hDulTyKmL9qV<0#iabZ%9gId|yVX_5}7Zr@vIRLkWy708J zn5Z$A%cNAq0vvb`J~w8Z-7P)=Gz1f2ltErnWUSXNd6DTl7bJf$xy}5jY6^5SH|A>i zEep47%!c$4Jof|HBz>`(1mmVfcg97vx4NF89bg0cDpK;Pg8h6R!`fV2`?>WNOJ4Ej%@C1RWP z%n7Gb2a^}`NKW+)yyhGKI{E%{exGlYev#tzq>n7lOOQcV3#*S{`DhiFny&A)cPGZRPo~0Z1u`E#YtpHF#J$&wE*V z0MUc*pTNDQQF68YO?QA7n6-!zi`~3KQv(ot$m69D5d{ev-I~6;zoA5d1T*#4`d81W z$n;;l>~*7pmqI`JEefqON#ov+XY5ob;5!oFoV9g^WL+(6jKDU-k)D@v?@i8&2V<6ud~VVRJu9mp`055QB_@Xa3$Jg}8nG^0;yVxuv&5v70)!u04ZIhdgj5LQ$SqWTz zp7@ryvl8EvEB@^>qdJrbe?(TF;m@z{E2RfD!(CACn`OlLDeI^*G6lq+Ck_&KSK>Qy z#ScECuJaY;kI3kw`nmF^^5!5hn+xjARUo*_T!;H8Q$RFHcaRuedB%ZDYw#)Pfh)!z zehSTipfy-1FMu+fKnDPn5DVRcpdHw(=zmbj6X;8j^__qj#cBtY-?ulFYlD$A$t(h* zz#TUvU`BoF#(x_rmvG`H9u_z|{HpHF6quP>9h=(1J8U4&+en@SS*^h;>N<=B2}VLU z-|bdz22GjyxiTNu*v2~!rX?OL6aJ~7tdLKtDc+5p{tS14R*(aO8=M>C& zioEA7c{i^njc5Vhx!-O}1xJ)qpdv$F07J8_}!Q}Q_6!$<1m#=Rs&%BE~ zlc<-LQ4SVannX-m-W*C1_gUc4=RZ!^xY#}@aXF)xT=n=3V=(%Woy?}vg;+%(*780o|zjx2*p)X*Ez_-YMEIDM6JOx z2U4ZTf)ua8Vr+0k2d<&s_=Clm)j)5IJIAidh)(ideDveQqjx!KW< z>DVy@^pw(ig|xIsV$FT>qNS6p(=tk^>!{>lu`EpjqB`6z5AIPZ$px4@Wa$p}|K?b{ z2gZ;9SM|HbqwR6~SU0d1(+K!_Z5P#ulY_-lFx8e^fSE%Us4Hc_e?Z<6p(l@E?5wf^ zqFyVI^JlH{taIDzM;E!ShpxT9F_8ovcVm_PrL$cX&*Pvp*GnFn9Ey$K1yDyl>+6)% z4hjvc9&3fr@vUB|(0Fj}5AIWS0C>xjVxe=5G1X^+}s*HFMJ$8fW+Ix3{d zE8spIIxM^Y;oMO3%^X(N*047!$2!XLBTw=Px3667dU9N1FINXXxB{(&t}reY1+pIZ zaa7FD!PqcHu4h0YZ(W>o&yBt^##plck=}DUpRkavJxa>M%Va+@&mBr!fJ(P(nG}Z- zo~BWKj0c(Ihu~2c>#Jmy^9PsT#sXUESua8b#(BHybVF+ztNGa7r{^5YPj3F(n(iT?5 zIptwa&+aVgJ}bVvcRf}QcUR~_?1t%G*E7h(ZaSt2jobm9AeY0V3ug&im|rqwt7!##2s?A z0CFTIQ!aVajV*LBZTeTx5aZro-GmJd<$U}x1!hnhzvjAa*1wZ(cQ}#^ChzB>R~*7< zcI@wTY`mEh)SL-wP|8$vy~eiMy3(?-J0{5wsLc|DkA@}c|I zsQo}G`Hoz|cSL(DS(~rL8`~#540D{ho&pV1pI_XOC1;*-u|?Zz)aEC3s6}y%n{#Jp zR|RCwY=4*b&&;l(X+yccapX~zk#=`w{{6g+v9OSSb*?P;&S)Ac#-T|0t$%}y1)4D~ znOt&YBFjz4gGYE(Up%)e(*+f?l>(f7&nG9B^1lSVb2|vj65!BD^UgP7RDcN-jE>OV z{uX#a*H$WM5A{&MUY=Vbj0$~Q>RUh6+LioGa7$%=LsK1G$pz;2CyxQD`77DLd|mp& z3AURv_(y}SvBnV8mHikTg||HK^;H*oO^SMx#RrhNt9=IV9LSj;3=`f$GggcQtnfTu z<4LpPT$9V*+BbrmIP{rx&LDUdU`|LgUu4aWRlgptIVTo?+(KM~h?3DQu7+Sb5KppZ z=Q{Q{ph<4$sqJd8K`hD6nGqf+9*`u*gK3@DI8K}h;QTeM{=2Ay-%FfXm+^7yb)lEL z$c9XEuh!%c?MBV|nzzw>$=JC1O33`Bb8ok(5G6G-SJbf*|7%M_+1ab4LnCTqYeMfAMswL#BF+;YS_gAN)+h-@_UQA!Xn=(pS=XKf{ zm0BkC*3;mIEv}0(vKKbx6onE`bi4?EdxnTEBuz1l^n;V~Id5%L2ib&5Pq56!4!s!+ z72Ln$IRn1nc}f9#yLp5A8f#LmnR!K=&vD9!W z>|%CQbeKcRM&v*q`$s>q&7FsAa#6tE@e|qvSW;hEgYqm`<5WkYv`?eeawxg#Q6BC$ zi^Z4{LrLn$jwoi-Jj&7R=atOeVB$(gxMhXr2W@pO3YkoSKx1S@CR~dJ(YnE*1vnT~ zciw9lPblB0a8V+^QzLF;6>!T#&egv+0CV;ATGm*Y?#dAdyt>c%WBofn`5o>Ee;uKw zk~{e$jS4W&VnBvt8Jd{N#|K&&)ow$}PV0KOu$zd(&W2?xV6M_>Z<9>s8v*PuhN!rb z>6NoOoU(g;PHiOw&NR(i?c>-9?^Z04sE3=y;9rO zaE~`(LmbB(HTTaps^;um-vamGCGBd;Wx1pS#I>=r2#+^GdY6tl;F6t-j6O4UXa(3> z(RB#Q0id!x1`zb&0iyk#Mk-F|j1hD^<9cS|vRo8!>T0B}-kqUFJJ$6+H!4{O8e#<_ ziBmbt%s$m*IW~i|A9=Dz8g|^T(8M!Fy$S@v(tE4~-`dou zzbLr0UGl2hrK9W^BStFlD~l~7 zpDT!HVG?R38y=fzzyA5H?s*$j;~gyrA3j)dzOaTUlfbjB%WAGbeHPHX|b|(M>kF`hnYBLANgc znIUW_Po33>>=L@!@izulTSZNPTT92(8zV7ksX@^x83( zP8hLDZ=S$GUZFzRZIvqfC*YT0VipBe6GBiw%oAJ%VV*m!sWT;*YJ6C&oZKWE8hXu0kC z9#v00w!QXiM5&Df9a0JGxrGZ;O>DC+vHfrFDtPV95O8x|0HWa0XJD$D@JU_|e}8y; zD~WGz1;CaWDZFMl&bQ`-dH74*C3b4G@hygOl%;xJMu-*gOD)iykwfFfq^_EkGqhdn zRW#My1+#YV+3$Orxm&QP%QBs?uDa}61*&<4*$4L#`pRtkGq7Ocwh#^Yq0*$z$d2xK z@XpdVYdFxzbqR@x(%rt3`rQLELl1pEEgsj&${9pJBc+7WIkmkH!2BX$+n!O}yGM-j ziHCTqLkra(ji6j=BZ2VoV3M!OknZ=q*w_xqcrffM5H_OY6LJh~3vUT5Xq_Pdv|x)K zI_VW~LV%hI%<+#LO}x7qB6K*4A^80z+v+$-e0KZl`aL=5fSg3= z$LN-qpMlUbE5|3stX7ZCnE`KGs>KaTFA|+uN&ALzOu%!Ix$AkGW5VfCk0|6kISueLRHrA;G-K2Ew?4jyUA^k^$v+!PJd`1e{!538dL% z0^n977x{}r7DV|37hvQv=#K`ioAk)EP5gaEr^}qPcOQQMV#B=XK>Pmf7hVN0K*Lo` z3Rx91eR_%hC7aGcDzpEj0`*)0qFw;daJ>$-!+nDDBwIMp)#YCKFmD|VaIv>Nj4gVo zFVxpPe+n4WV3_R>eYZ4Q4;jHQXFe{jHL*>8)EvkFY-fslizKhWsZogB(#`sVJ>!h1 zC|wLnd*aoLC2{he1UZi^l!tqh>jf(#6w(mTkJEf!h3~VZ9;RTENKb`@4)ukp!*z@v zIA2(AZ7p?bvmpSCUbCJHQ~bg2E=@L!jGt|It3e_>8U5`ZJrJhtxvko9l?54RUs}%^$=l{HF76aGKZ&q*rU)?3PeUg7yz<)5 z6Wf!qqs~_}mFgiq@U5X$G1Y(gm{2M~&WsTi>F^{%?H^z3iLlv72tl)|ICHE$+29%tk8!^o*p(!8(3Y(TR$d_ntoswW)U@VWYE zPEB-*$hF8}D#O$trPuT1|CeHQ=7RB_wED` z=mnUQJXzusPb|<@OCy);vNpy4dlW-ZMX(<0a9@BLYn2bCky|p6Es}I4)6}!uq|~| z18TDdHFV>=Lv`Al4a^W;$mTVodE{Xdh9MO7H*b z1iishM_~m|Yq2fUIPc)D{1<=bv}IaxkuK!?O` zQO-~8e$IUYe`Rd#%RN&&-nG0yAPWLgkO^XDcV7n7KoFDx;pCUG0Mp2j2gU2JI~y8b zB%DIVrCx43ahBye4XAbiHxWPRN(fBT@)u?@{g=%wq=-#rs#Gurt?h=xJlSV@RXPn? z+YI}7vfF!9PzJ57z+?*VQF&s}+JcERz(c=M7wb>I!AI|m*ZxXfq(AV6g^>FhI=ViU z-LIMhDrD{R7i)QDt=t;RaEz@uXqMvnk?|-TeQm0^trldz%ETEiuD+nFD-vkp@3; z&qqZ+2{Csz6?3;KaDW@93O^f+Q+17@suQW^eQ-n8!_yiD;rUZoO zw*P_yL?hI8QT>$?gIA&L$529KOePZ~E3pKog%R-s?G1~bLepY&xdo|7Kv^`q2FV~f z3TRqx8I2J@ZvvVYKbiPtC^_J#W0TwjoO6~Gei;y#?63WM@&F7obxrNkYK9u1I-gjU zz_P;nwEnZeyFeKsC}t227}Ip`ht*|D1^`W(WCdg#aRT2X0)L5=#4FBND~E&G4M ztVm<|>0ojM{=lhR;#h3|1y@EFOL51Dh({y>3O=B^2wG+f$?;4cv{E4`R83z1)Mwe|^Rz5zK>W&eqqqu#*0mri1 zV=_bUEpSI*Y3mY$YYR*YFf0ka*xn^S4?HkKe0Ol>`;S-kaIu7TXo#!#Plkx=(k7B& z!6w}TqQ8j`TXw;w3S80uOsaq8MbVM)Q-Ih%Q|X^+_|J6sXZrrnCbh4q#t5kK80|gy^UPkAV(XakW(I6C zV;T0#GD?1?K?H`Axl9S{klON#V$>JKhQwE15@sT3QZmn_Fi3F!-kk+P#^(?~<{6ks z#HwiKfRbVUk+o=MUP_|?`|pWaWXdXg=D@r`{(&`nW?pim0MqZrS!D7mW#&MnLH?dK zWo90{QGn)m<}4Dvijz5Tar3^&<~{{wu>2R))dSYS{iCR^yu?NU(%){gG>NMd83QT$ z`M>2pRb)_kn^Ap5w5nM~zsIlP7+nrYl3Hnk*=dyN?Xq~my{Ov(a8vFR{Uld7XQBM( z;Cj&noikcWp{;@4_V*aSfRNJQ8}ucv_T*YhR|MR=#I-Mdw%54(tA)txsv{JgsQJmW zi(zt(J1yE*ALGKLI0nW^bxbj(q#wuWOwlLTupqFr!#fMYFS^m(k2qu%fGvd=nfxJW zxDS8}$)>|}uKzr18lTd^|;#G6GVuX$fOX~Ck? zK2Z=n+~ilW>vg(G1+*i6Wu&ki`|I%|MV5Uraq}$M2nSOM|Be3;pkyAn@C{E^2#TpG-H`demCQ`_!F&u{-$xX$Y z4MoZ?CD6B4(bI;UmY70I#>GrbvNdFPaFSs-nI|}*P%ElXWl_Mr8BPm>r&L<%0uj8L z;`}EZ!Jk+FEzpeQLSYR#FVMg%q?J~%XEp@1M=?R~dz~^xaArdli@CMvHJZdJ{x#L> zD>Q@?{1+N;j3+#L&kyu>f1_FKFJFvQqc2jEMyUbs93|l@W#Sqo-)IUUi#?p>GX$tR z%M#IA$mBbu-$*O1Y!@5@4~~g@(GJ6%6px+~H!dQ0M=_qqzL;0ICE$IpJ+J5i;7JbR z0vSm%rENl_Q%7RNKKrc+-Wze8!Fv-MoViL?U({gU-8b&_E>YKPX2Z)HHnj6TRDk9+Quk=q^ z@s#s!WHELrmc8!!En?tzff)ZZtBfUuRW%XPe03e(l2o@O9yQr)kNdb!JW4R1Vd@JR zAYBWHfS_B&vQFEYn6$|kaaB&N*Ei+xXw^#6IG!(RzFb*DmQ`)X+jJn;5F)Lv?Nq}J z2c+(JcF*E^OjRsV;TC7cE1nFuMW+&s9<}x0J+ce&4wcTf~39M-tP{8M`6zNF`0Ap%6xR#CcM}UP>JrmrMAMbTVpIx(O(6kyfmg$&_Ea*uQn9 ze2bD4Qwo)K3N`Z$EmPMbFQa%^NugCuLF3+s^ZPS=L#h9FVYdb0=tG^chpFF`wO){x zQDj$A@P2$q>&~FhDrL@USWO`~B32;piIOj}Vznr8z7{&}6sq1RUw?fdeDB&abLqXb zIj;n*{B)J1ffT0QhBw6&0}l7ed_!*k?X8FPJ zLg!*#bVECV)cG1*V70auCv7?spj}~JL0YWTsxu1e6PNBbJ;GzLN3gIvC+Xv)y_%zx zTBTIlK1*XCOTuEG%)$=VfgN)HiA~vRG_;(?EO!qt%rE*CH@qsQh`$8>nGz~@5b){X z6vS{o01}pHDmp8w+?5of_+40ALX1GDF4gXt#r~Y{ zty0D=GDcjN`DvV1uXt?Xpj!*X1bo`*eq>7R;uwFNQo>v7zP@WKe73%G z^!LwoL|?bsY;1ETePnjO_62xK9z`%~ZH*2(U#@37ZYSehjj;+)7DV~}HRbAYZ#{Y| z@p>)ho+rVSe#$Mh^X1V*f}dZpGApf0MiMWcS}s0ZSWfO zjt&`(Z+2gvdK)sNwbZVe(TtnT@te1)7@5hyYsgPl zVRZenT(7vetr3|5h0TtU9=>Ub6&`UDxbNq(@?dixn`%A;7E%cja?J>ntgtIQc;X29 zZEdSHLg}UFcrO?#^;7X}6NN_GqExR#&l>O5{%|&x2Q39c*`flrLhM<<-=8s1cGHm2 zosfJBHNzUZ`sWYN!@@9>&$HBc zMZMMZDoT_GiZ+%Uel1`OYKP^!3AX(^S;~UOW4v^r6xo9@2+#rEGhlbV-YRIn1;Uh< z(+TQDk@54$;p(ZY%xbV>*{q9~r`Rf!R7SKY> z)1wrW3RmZGwm+!L^p}+T3bEK_J@(|a4tS3A7hPFCfQO`cWnY$x^b+6Z=G|W=Zld>3 z4MXFRr+Zm0S(D0WDtJDC%NYUl(-j3LTfxcYxTd?|p?OYv{FWbYMs>Hp)=hbgvX8^= z%=hHB4yZ;3h^{Oh)YuL#J$&DO7AOpXzgDtpc$e-jE3@3n@SNaVcX+R}$376%7sd-p zgu=|**)0crsc!x??+|j{sWhWOPounYIq010j3ej*MYIr}oH_wjGPtP zMmKojrNmsa%l+;2{wb~IFqG>v(#MMYtJ#8-D8~x6$BLJhhx#a!0u_&m4Zy=yDJEl-h+%4*5MCBJ_U^fj}x z?_UoB-QR*|K!328CPF<0xxZBMq`)oq9eazxsGbKZ-m2gSsr)|;U9~cdoWiV2DLF)d zUrmqwnD_Jl%ykLr)1_*Ay0hLJCUpzNFQbS*>o(k1DVQn%pdv#6kI@R-CN zomb?COz?1a)0p3_O; zm%IF0fCo*ysM)$Alj;QT3uDsCvAfwXdV|@rzf8I$M!1o0ml>Gqb0>(z4+C01O6PS# ztQ{iqP+G8!Xo<$Y<*e5zDEU4Wr3|sCaSfRlNB4KpdrAk%cBiW((~PoTs+2Cw1wv8h zsqK4Xk255;j;AJ$XDi1X&5q@4?4>9TF1p7Aw~113I^GIQ7r73T>}r|4vCDD6wDZ-I z=&Z)kjb|ZLQi7i!QMnuXv_0R_FsqLi)GT9IKP-8}&F%)%O4S#iq7HbvUcgzzQ|R() zCzv=NzmzljKRb)0O9e`LpZ%Ca+afZS3JiBFf2cuUAI<9DtT1eRH=5>a?aix+h3-7^ zowUEr1Xwpr!0vDRqM)Z55$u^jlsEJI8 z!b@ymiDvKPWzz|0hQ_NIyHkA76f*dj{p9{TJ~ecb7sLibFAkj_%(Q{S>=X z_ws@K|KtWaYJClBrUhmeob#!SW%5GS>Ed@hKbGPn6KPT-4;?o1zV89h=Gt;t?cJe( zP%x{zpVD5yzzSq(_Kq}ElEK?C!^SeEW_+~oH*5SQzV`iboA83ajcO~o z%|v;4^W%{qhFzJvUR3`fK5`ZQKf8YhFA+`1aK((X(7q)K z`LoyLWq}_uI_6NAu$;E8l>Hz^?#M}-fqKx2{ao6ebcnwU2DnE^#!`jo_!4JH*~qN6ud>!BK}fD zYO@%Jr7s}{Iijv^lbI}d1#h+AjpNeu$LO@22>&Gss^lA7P=eRKK+TvR55?)qW_=|A ze-XJmo+1vf&He`8(% ziZ-W!|1T!cSHqqKNcO)mL5JkO-v5&+IkVdDgDvfQw2naCmVxw4ddq)S8`c8-mHAI_ zCEC46a6v&vKs&JjmNeG-^q(d3pY{4bi{(En@2};Ey_OfSDmvI}Nv_cg#Eqb9c>yah zgT0oC%8;TB_FDFGL4|$nE#ioP1Z}X_vKCw8$F9OS_RRn`ttYnJk4-D}FKssTlHeq* z4x~i$H!YB6{hQYRZ(3}TADh;0qp9(9oz1XnH`oybu#ZgG5on=m{>jASp%(@xBdGiv z;UZRt2D%9ylc75P$;7cwTG$cPu|;`ot`w-Yf0BUXzo<(<-bPc+qXT?p5`mXXD+4Sd z2$FJ!ZR=uP%4u_uYun}zlJkwM^_7$s+AzSP0|%XMKe%n)d9RdTttP!QUBDh(&P(I6 zpLw;ULBQEFKLaf!AN1uRHv?~d zE$?t5>+WMo+YI#nTCNECH9B`<8y=!_Dqm?!dt=nGJ=W4;MB0p4>4|x<&)51~{VT?_ z^jvR;Q86CrWA^AKgYs=x^FU3xFfDgSuOUCC!(IRKo&~2%C1@qLvzxnK&hA9^;z#rS z`cu-f`%=)c`@Y+FB_Tp`6!Y_FVtb^QsG_!{+~Vq9C=tW3kAj9<1a?rn5bRF(i!*fil$6+6=<<{34JPOa=%6hVkpoTw9} za{uDs;nFWD&IDvAgid5AWF48@T~LrXh52WONqup|ku_Sf4kO-B=)z?wZd9E~lV3|F zDc<*PzMssr+qJWxBg-l3&eBoEytw^)TOIH`^4-Mps^fbb9aPI}-@p&FL-hVP5WmRO z)~i3wGeoVsr%ZoHZhF>mx2K>fYms3zdD;lT=kmB#^Agwc00eJGVpWDcc=f}dvocv6x5O(@tPl>2eK1q6TGl$6!1eM=bN5U_cg~99<1f_U3UZu z6e-r-$xU&zPefPv2q#P~G(Nk@&KOng0AEI_1&|3|7w?cH#YkQN@nldns>!I~O-w|-09k7L;))FwQ)G(`{nN^lda6erlsu|9s_(-SL&-FK!SP^y%k>`?6(vcS%^kDiWk-FI zv?M|e90q6fnRO{(2R48Wep=tL!IQ{!9Ptr6C)r@OAI|-w$d3 z^9RsCjm0tC&9Li>R|{Sq@r54Nn!%pCS3&jtA8UQ zH|n38;WQ!St_5xf1Qrd0+)|dDCHF9M$eP-41fk2V;m9lzu3m@Jr{Htxq>kwfJdx3p3$Yz#j$a@ z2q;zCEdZrzE^B2VNxdZ*)-LIZk&Fgzn^QL+$z!nY?Sbi3yc#`*0B@S=O+50%#1@^# zjw=6zD-y5P?kvHrog|bZ<3qSMzOce}+p=xv1g%GeNrvvuq=dS|`Bk(&{+jH}k71KU z|0HQH_Sk!Y){ClRT(lU*NFLfOmPS<3_!69GXD0^2R?Ajly^T1=U@Oe-PLtc_% zH4U=5HcW3jnACq>JB*Yp`Mm|%URI?*AtjZ}GsW596wo!6Z17is!e`J$9ZqPo7vy)a zE8pKM1kL_o*v5j3BzhV8aQk5xBlZiMR-FmHroZ*Jtf+6VW`QrS`Z33lbR6+G59v=ZGR-mMtO+mqH@v+0HeBqpQzm?5VkSiruOb>@qNM8@ zOfp8wL-pi*{|iRT`Tc>Xl!-8Str2K`Gpm6X0Rla>`O*Al!zAHY@5=f-cF|GN22 z#Dz!Ca_=)-dGM8{B9rdSVe`4Y6gHqoFZmOfIicujj?(YA(LoZ3kKs%Ff!{z}7@}+R z^BOmn>k4`vS)3`7A{-W?o^)K9dc1x9E49uBZ(FIiIt-9UW^01=b~VN! zRsAwyiI!4`1d%#&)j%T)_LR~Q_1qCE*NQNRa+&iky}4!#cj>fyld;wW2lZs+)6JQw z`y06CC5!Ks9;>SHjQJ(&u`ibD`>!pN%o?3Fj2xi)O6zocT>+-631oSPYXips72Hr4 zThn!fvM<0nQv;*RABk#wHCaqzCP}(AFv4?X@r>3W#C9D)mx@3I zW%?iI)dx_|1q#=9NJVZbR3CNUmsz=w0EO)8*s4_D6dpchar>(-HM5>e90tZQE}i~^ zc5UhX8c)j3zK#BzAvzvtKd_+`)QhuyC*^I+1(!I@_uBMB3{euBmUrF{Q%T@mknk{X z05xGnN4m$8+J=#9S&(T(ZO!XUWDU!LEu3?#!SX~E#qAj#YG$jJBuva83T;O#38*UL zCs@}!M_gS=#7A|QMET7hN27eKoe97su+v`rfcp+eV{a5j~+t(AaRen>-Ib5&MVB;?a zeF)+Pwdv!(riU_v3Vv)R%*fy{WjZy-^RXuI$9;VWSke2RfE*73y(0uClJl(*G<7JYP9*+T zB`>&`JMZz;!ORE9U!%mRRTuWyZPn7hdpJ9DY4`kA4ln{6Bl`Qb=^uXsKXX7RS&+Z3 zqm^Z=px1f9)I1aRH0Th{CGSKujS^#m7Dfpy3_!eM2DzO+jsh=qqgaEYGcr@;;>6{B z8Bmo5<8X28b2ag%TN{CK9-sOB7CULCo9(Bm$53J-(W95$=9Qtyh!$DD9a{~S;}#I^4P42F7W@;4`~Lp&gihvKmW3%{&%v$>Ac(g%OpBAO zePgG%rwvUHFN!b}0Zlq|cE1s92e6<`Pq4JSTG#%{YpW9M2^rmfC*ZB)Su8Q3__C6e zH00M?>XKA4J2143{B>mF(Jxz zl)s!Bsuxi&kcYw#7UJ3GfV=9jpz!anbMJFB^En?Sd)pwsZ+o2SI)oav36tHodGH~- z{6N2tkN!!dIWZxRh@oP(`_6r%AImCc(;fGTxt`5EB5po^L0`m-z|#0!v0WfRkU4>t zF}&C=BC?B5-JpYy07fkJjO{u>(|LRzvr1e#njFKq0ycBdsO?p8`!$?_H-%t7zo7@t zdBlTxc%hlG)wOO8tWJfQJEy+riIN4<0%oiY=}|bS6r1AGL}3LhG|G|Jy4kQ$eF&*H41N%ZOI0Kh7d7Dl4Z!(ody%R`=#tR$=s`|{fz@Qj@-O0qAaTTS&-8$ z_Zc6L6^woBS99Lk$dA$R(B}^zC_>5p(ZiFyvwMSDG)(iR<2SpRA7lZ3y(XNM%Ztr= zxGh%~%cy1?zsbYah>^CTZ*IdjYVYLZ2T;#GSDk+uy)*t=4|iYY=qpESyq1n=4Yk> zD)>D3%IzC2P+UX!c~YFVU&ISlm|B7&yR(0$v6XvTcqIE=y3KSGKs-m^NUR=YtMo?$Z2H*Ec?wYJ8=+KO{EBj4%ED83x&!m0J2dt6u0Y9FbC#0g z6OIR(_?MXXF^zhi_MBy|7ii#Ht^VtX8gtlJN;QI_X5rj@4gph8b|zMD#9^k>Qrq3r zBq*8+PXx7^kkH~SgIg!W<5t5>p38O%7bkdZZOi>rnF@T8Z>B!~AB??uJe2SIHeM-G zmLjt6Gm^3IduU_E60+~c8nPDI5|M1f*v778X|arm?8!2Qtc3_=e7Tp zp6~O0y?+0lb6&@F&UN3j7{_&9$5Cn^+euAoJRUN-$T~ycl*Y$2^IfnoOZM1#?DUhs zpqbZX*P3h-jR7?C&iF~_Q?>dlc_5DU=wl5v(8KJtv^Kq^e@Pr_XD+^AK9Zh8yZS4zZ8hvW>VYn6@yPnZpN<&gu~n_P2HBI< zOnm3x1b*~?A8*4U1NK8A=Y*59{F?~ z6nTt!k)y{phu1)#FtT8ZZP|HrfkZXRO*}0bATfyp$q7tiQPr~7| zpo#e21HXoL1}G9||1v&x%A2I3y|nE4kOaIIznN4Ah*$N3r~CGoEkM^W_dwsi_!D6u z=#5#J4`IHM8b;z9!4ry`l7^wDDM!m42x7NQ8souqivqi@&4Y-u%zD|`_+S{U;_8i= zgHGb}VNZ*`CHeqr(#`Ws%#+7R60_KxFP-#ls{z@OGI{mv7h{2?S#tQy2t8uXJm+8zTlxNqXRvWmvG zG+AjvVq}#qVSJDqoVWz$*`XWUAXUD=p&OhGnZM?N8yw)HpY$KN!Qmw^#fNTi>s0v{ z58dEY$Z7x-a)U$mUc&bSH@IX~XCUA_0iapAhNa9{=} zE`_N*G=s}yIca%l24_IcCvs>8_mcd{VND?;vJt3g>IVYj%g~?CXi27!K#Y02Kj%%s z5GS}963&|j4PbP6Xu&nVkfQzv*nf`@mQlo@CKFf4$01r6!Ggm$r3f2}nB}rl~ zDL>?`E$kd|HD0ZwA@Q*n9V=`IYx2{~2LC8I?AeC{7q@m)eS249S6LZRnWEld)+)ky z7KeQSW@8`^xB^RwH4!XgF|mFF z(7>IeuEWO~X+|vAYigg@bw^13{Ei{E^gYi|}vX z>zh94O#}Z7YU1P&cTa&naDVe4<8@z5w3PQ1`9dcnI@Kn;#iq8YBjiPJg75#sLk$BC)bZ0EwQNptu!nb11rcN#;qmALjBq8JNIu5=VNK=pE_-^GW|hE zE?!VuzF>Nc!a-%kCMRtCM&=5~-eLAbpiT&IiF@~Oi7l?aT?NSbsn37-`a56`%f7nn zOmyFty!s$xJU?R`pP?L^Fj*k8C0)Ig^Wk26^P%_K$g-UAq4(RI(n+H9LXP>S&Rhe( z%?P|F2l9Tay9Pp%_uGd}1j6n`0m%i9>0cMPLL268ih9#AzxWosmf`847p>i!z(vTl z5~IWJzLx0mPZ>c!QYc4$Y!(K1WbBu!g^%B|H;qNj&;gaxG^NL66mnb4(9PmC)>}-= zedwwV#@odf1xDiz6h64QsY93(9KZ|*$bjv7#g%N`QlWjx?-{Wz3q&3rt51NU<73yhVgzCmKv|-+tox2^ zkjeA{5qPqQ^?zNrPnd8`0j!Q5jJ+?_b&0Ih8g;rjXGE^bK=!TYQW55x}}TgG)Vqh z_O4Z`$=45Tw`?n@pI=Tq;CD0JbYY1k?v}Ak>@S!&#AFafQjU1idW-513#d-=n>-rA z;pQ;Y>b6|X<0de*5;`F>J6+iPi1DgM*pAiJMN_=`yLIV_eQ~>?MAtQSFm54{_ZJF< zy=%?u*odkI@~hNl_^^H`ZX|aAagVBsv(sr;>)|q(0$dBktghCd%gTR=qla{lW+*jF z9Vh8WfbS%rFoDr&4pw})rmxm|>(j$R>uLQm46G~hh)!shyZA5t!jzKGzJZj*CdEI4 z#m{b8Z@eyFBAD;#U;ZP|q|UOy-Hirk8JpDc5|-;?FUC`bo6>IDY2|Bei7novnzW0} zHY-wzSmPjbf01dDW$PEs>W066( z{3P?dhRQbQx4QN<*3p|z@@T{C8#S+jWc6eVfF}2IAIJ zp1YNY5(e6|vp*?3uWBWq)n-+=Ybw*{7EO)HlD_lL>!rL=M%FYrw`T3Cgsf2)pW}1V z3(e9{+p32aw!4scN?YK_faI`s)yv%Svx@WzYnoN4{oNsbo)=O_cj?bLgatFq|#bvwN%cI zMCnkk%DnCDz1;Zqm$Rr|3r3|MSgmcdN9eSmr8=w@E~?Z2p=l`$4dRU0^?$A=+1J>= z<;PK`DAh4hc<~DTAHgq$U&~mgY3Y)mMC}FrGXMnpSISpLDj6k}_~OF}igRoY`Q0%1x&^%Y`gZ6qCBj%V*G~ zYKZc;bukEsQ=OWPKa2a`sAax~B@emH9mA)UsaPp>QI(!tYUf&ElYsZ7aT3=p%dn#vl`x2 zbX<$6x={7}DI=?hsuJ?^O#IICGXhy+tUS%lvCYclSkADl>t8b6_r+#_Fw=3%kMAmU=RVfhW%5IPN>F5R{j~+W>uBGvwHtS5y0qu z3Lr@DcM5-A3Q%!B4jkcXxBN=mW4Qu|f;;e>xoC#vc3bU+7- zCwhlvZ`|-tJ>RrGCf3Z}@mPxFgnAWZ3b&FPG%`_|oW#ZY<~Q-}V!TN{5N2q#s}JxP=}`U1afb1U4{%DdrBO32j*p!xN{ zV=dBkDSk0`U?N~Z<=Qn(@PusvZrgLWG$`@6Is0m`Y9Zqpacx(20(TQeQ--MxAxs{zP=kOqz_2(>8|~|HTfD`IwsSUw{H-b8z zgKmt5^k%XAJR7)kx%^QDWBBm&VX|elGXJ;c2Y)S8;7RWV`|n!XF|Wpx-)4C!Ir!U; z>87`m$q97>-GM0^z3yLJ46hMi_O(>0uSIA`4Q1W*xO_s2l^OogT*k1OkzsJ&FU`O^ z2!AT2C>P$|lAr!P>?Y>P0~R(~tV@Z7q3WYkF7Aq`=QVAsxmSGmZl7}D6OW0ise%aM zqNonhr!${z8Gv%ELZtO|q7>s}^$6P=XA54N^Fl;#RkAv3krPR}xXROsj3E{xf`=Jt zgmRxGK*GhN4S6RHgo|y>WM1EYj3td%Q48gMJK&U2E+T(J&40tHE9$3nWi^1XL6loh z?=iUcAt!tSl}X}!tL&YQ9_kPaF>6|XBMB8(v8z-59k;y@8U^HpZ{UWdsbJuMK3ja} z`zq^ylN+aDqMjHMk<3y_pC)@95;snc`Ai9^1-}7M(*tNq#+>l`K3 zICi7@+a3vR+qD_7B)vvTvnIt&Ov^8!S zBn(Lii+u|4|0PG#7#?2!@^Ox&B|KGUWR#;0=@rN9jGG71kbvz0o`=B9<$4GRB&)zF_Q3h(k&rw}}#s>qXAywqGx%#3l*Tkq| zak1q9owX52H2E9LvQ)Pt7Ak$K;f-VtNo!a*K*SlET!b>;8}EZA>*9=?`OUQs!y5iE z6cl1q6iYXGK39+=jy09OavX*qQ&u2(Uoflsv#_Q0Hy%jKSa9_2VqvQ`0XU7dZ6Y+z z;0wlqVuOXfEi4O&9s_X)Bb>2nq0;>*4e>r81pL977J^CwsP_R>%ii``<^fb6=l9vx z>u|jA2aE!m4@8O27W#&Q{R$vToL!Z~mIm}3v>I~##!vsFgMli|HEa&#aN(RT(l7g! zMyQa0<6GmM!4K*y!JF)zR&~;!;{iaY*w#M7gMWu|;}fJ_Ed5n;gMRT9q-pH>E_RWB z*bFEgFIyQVa5~-w>cw>-BbS3Sp#m$}n~XoF0CKB;Bk1;|@`v%ypG4f^H$Tm&Uo)9T zj@mW65$2R8@>qQ?(WQ5{PzJ*94X-V5@Ugdn!-(iW=h~_xUq8*XI6zq53A0pMpkplJ zHbl<#7Z9)rY8{M&Hy+19Eso9l+rN8F80D^tkMBg#vfB5BA=W@j5oi)m+&aBq%JP|J zRl9X-k$tW4F8Q7nkf)m_lcdrM%k<7nb~M2_;(GSP_5&Oz_iw6~pQRI88&Or3+}-Z~ zxxdFB;(S5=9j@PR{EDBmsD=8A zeq6`nHoh2RW>p?Nezd(Eox{r*YXx@;wWD+qAd1Zgri3T;4X>634#LiH*mQNCq>BgM zf}B`UNBj37J%zg=R}yz!#e#J#pUY(_$vfM@g={-`Tsi}Ebb@&vFsyuUIl=t|&b)bK zh98KdUSqrwAbKximEPv{BcbRblVzo=TTyARAHkxFv{aQewxV)F*c&6H=y+V7c+%>B z{w>y68GX{^a<}A?f2Yp-yerj+Cj~5<*Jt=`2Y677H}oe0p0CoEJDn956TCD<{+>-z zEE3h#*;{>7i~`vuNLKNRTKveYb*R6+CE$(8>(~$?r7^@R*^VQrVXZUC&L$=-GPyI> z&i?ksRUcKA?B$m2ZT#&Gm#QjuLH}j4(bXAuBvHo6`i8%~-cnU%U?_P?k`cMR8Ry_Y zN)9<=Qe&Ik_yo(WcjTYK(3$Dd(715&0O9g|$+FB{ss4oC$sVDN9P$)wV}v{%%eNY( zKLbr(t3$@u)LH`WZjoj*$Aw31uCDsi5(!pM*(s@)f6N?AP@rS^;C*X@1X=;0oiUR? z&en2Ux0pD|!3B-LJ{b|LK1HpKudF)E%9^ z3s9HaCK?|A`jb6$RNwMrzv!Rvunh}1)vtsDy@Mh2tYh?lGCXQ(yV|bL3y1v>wpbDd zoyc#A);eF!OK>B=8&6_5eZi|6j2Gd2zBPeHWNtQO5$?k$RO&50Ao1Uy=!5Zc1ya-DN=EwfDN49Glo{(Z`^_RC4hlJ?q;ST(yE& zKsisok660cvD7)e^qfw%Jh%1~zE&Kt&%0WP`H}~U0qOXF=j&Ps4;}5dg#v&LAAf&r z^ZnY5js6!aXX{>9Sbnw_sb}GAMk)lz-v&L%ld-Vh{EmOHguP-fnUu+#%wIb2ox;ao zj30z}eNw@Jc4S{W$~}UKe1}D=drWxAJ3@(V=Rx?ums}bboh3FhS0CK+ z=$AqP4ssICSWV7v(UN4LKI3K^dTWxvb@yEIo5Qx%>9{AW(u}<~n9RhqmM&bpZFiLY zVLAIl0_aM1L*zac-FV-Op40VbJ?%l$CQpIQ0yPj#a!g2y5iO%JINjK5toyxA_qYAh zfJM&w-~k$u`=uEtb7JCt{Tph7a6wY@L5R5gpvXZ>GGTsG6|@#tiAB1IEnIIj7rN+X zNAuCPKPnisB!6yWd)}H)_Qwl+$YSLTqBZ8WKzFh;t9KFO?vZnU0emkW2F~l6WL%f^ z5nb(7RrW5**W$~R>!r~YW)O0k(!B^@D4ba;v6W8f{nE#%{p#kpo-|FROXA#pmym_z z@~H5=#0`vD@JZ@8UBm*VEHVX{K~*MZhhXvHYEM;*^9v`!5qTX>x&jL$GQ!9UWX`%5 z76>wMmxKA6hsVyx@M$d|d=oMiVp9cjh(FAVQ1NiI)FN{Zfjis{K8(GS~WV_~M2 zMCi3t<0B&4D1pJG2bwxImQ1p@g6yW^n@h2(r&V>1vjVpHCAIvcImNO$D>bRo@l{FD zeSw^#j|<616si=dyFxl0AABoTElC#AAzRB?WzO?+!Mw014m9l+nj>J5<|2Z+cF+uN zFr&uS@JXBXp1!jFIiO%vS#&+NdAAT%WeQ|?4GN$ExQS4SIpU(eo#>tb7Qtu)T3(CA z()N;i*jg{>?k^i^20V0;=lkK`H&;B_acWN#&)fe1>_VNs0&}4vx3*7w_^s3T37r)A zTInhd=D){YwR`t>OS>g}(SKy2*qU%^ueba>Wx%-ay^GgPnmMI6=xlmkXzQHd7W}Q= zX35n>*!Hlm?R_UHN-l(becI^GX(1$;ey_O38xQ-6-Y1fx$A!WqPaAEV64D@(=v~Dz z`!&S=qij>kr}gI4M%~z&fi?bt3VQKsbLKBfyoC!l3lmwY>gQ*Iwa-%WLIpgwy0jGc zY4rCL&N1)k+VFSxC;TzJ;zZTfJG17nvBpic#l34|w|Q$8tsj7HXNrxPWC}~>s(t1f zadu1(10-kMi=n>7N!WMhcypMbvV_e^OL7w!6e~&CkX!Z#Yq)bRU#RhHp^gp@@X_UMw z10DaAfjBCSlKyWTnnp?XH}+4XTvNu@S5{2_RcS-; zDUt08x5<$s419z^+G_L;L7=fB4XBk-N!Z*sA+=+a<3;IbQ)dp+rzC6w57UXF^aX#@ zCnaqB4%1$s$lo-%gpH3$-2OP0V?XGX_`XI9r=qaANl*6DGt_)%Gb$}RWvVRRrX${F z$nJi9?*|vZ@x@&k>X0Kf@+`{K8PJFKjU-!d(AB@a2L4_7o2)Z?@7v!UKkzj z5~xl5`OI4I_ci>Q$6gk6liF_bPN2p zxkydPlKJrr&`?Lutrv!_Q%MATbt4GY(SY&N@j_%73_1W^rc$89n%I4$CKs$}9JR14d*uV6; z0guBws@m#BeN2}A36NiWjAZE$3>fZgd3l_c7|et*%D6mZ1CODKp3~ge=X7&?z^4&M zMi5Dm_1oRIW0k-s-Y4M2Uv@gE^gi5J*JW8SnEZ8a`kY&A9Og+ZLiNLG`xbQ1Y0r^5 zuEK|S8+_rzYRICl>++T;JUauowTTemP?~mvW<JbhxIz46T}k zv3*?yh~8x%0f`rvXxR(yFZG~9Ma($+Bq&h&aVAqzx`L@1)DbZbm~By>6S{}=vi2I zwR-K*Pp?zwh?o5(=pnD!x3QUL0Ixo_Av&C8VlOd`nTDqN!3D zUAvS$b5<)SbT7R;Hi$}|)m@3)N$#ipgN6Oodm5CIOSz*VIP2}ky3rftu?nA;T(7Cf zA!WkI?_~wM@FFqZt`bhULkn{{ms7xfbLhRK(%6&H*+8|*_y)lu<53^>>~-eE9d*9x zH&^zBXDsgEB;9i}DKc2syDf?(-MP#u>J2&+UU)f=HTgLxh<0e{Jgt%JU6-6MDD=X( z2~)2tQdi9tvt_4ilCkU9!FGf@2*s6ivU@v(S>#<~u>j60Q=?xpTM5l&ofk2QRbC|7M9E zGx=xpmS(HG7Mg?5$&M})ar!r9Tx;2PFo%em6ckI7$E zlK)KbJYf)f@o1%L$5qbkoh~x%cEyL31lVi!#t=mFxNX)eLW;*A-R_T%BeoL{?~HH6 z!`_e1;_F-~kwRZ-;mI>L$m^BiDvu0OGK9DX>GmdXmclxRuAZn0KS4^G zKuHXgBtChE+-BtCERAWenUI+lx(>~@zwzq0GC2upX3*5mwdH58m~y3(?k5u;M=7e^ z{RSjvG}YH)*C%#APPKmpob6@2c?8NOEEqF>JOyc*DvGlcpO_wnBu%ds*qImz-jCD% z7n${cAv3NpKvJoGX!(?@mB%2ZRB$$YwaD-Y5K5g&Sup1K=mpgr+y3-+e*V(6jZAx@ z4<>}c*tIC}r7MFbgYp)xhX6y&Ie7Cw)lsB8z zxA(z)Z|B$ZkXLzEH}72EQK;Km9(u7?8NmX~B!4WggNdcv?JS-7kK>#}+GY0t81^)N z(j^O2DEyN(vAZcKwQs7<`c)w}qWROL7xhPl2JGhv$`2updTXUpmp^*sMznn5^2Vc| zdran6K>CEpf>RXQ@&tmQ9p3!8M^ipFtxg<9e0GXLQ(l80s17CX=VLK-;=EAusyv}X zkQZ<8+~ZO{_EDWUHxeY(FQO`w>@Uea?>1wAdes@2fbmATnf062^6X^w6EqZr9 z?kaS5p(Lc}O1gdjf0OBc7*SYS-xZ z1h+rxA_+Ps&W?O?00q5-UWZViZ+h-O(6E1@#N2J2= z%S01_MB%1fo??})ArZTHr@*89=Ls5s?q!J;nVja4Taf1`K3zGHY0k%QF^7(lY`Bjl zvAPIs+j$Q!5+VDn|MxL%VG>Pi&SKR>Ad$BzsHxMkH6%(G?|e`c5WVsTMFIUwEL=IR z4JWa`YO(wt;u;Y7EAFBgiq(L)-xR$m%1qQoXY~hy7nCGeGJ`egLC6uoDKPyxG(EuH zd=Bj_l?`a5(wOg=h|)HCS=?f>XBHOr$?q6Hwq6{t(p@aHljt&|Hec-&)2XAGRHUMM zx7Y^LHC{-`^CMq*>fVCC_ypv7D%zS~;$E6O)yKbQp(uC2+s4umR$bWY(h2vZFFwvcLcC~eevW&2^C>+(pM|2>0k0QJ)8X`L<|yW+{?oPcBo>Ni4*i<3mTF(m z#-tNiq~zI=MV@C|3iijJZKy=^-L=^XF8xXo|4GEO%X5LH%3R&I>AQ@OvJ{_LOX97f z@!UVpTMHwsZ(Xm9kj^cdsQf)R=}OH#q??7^v5(fFZX z&X~hOZq|}?t7wVvr=gW?4lhMj6OrE3Ct@DxB8#S;aCfJdGDz(Wp8BTW;&2NiH{x*4 zVshF>uEt)wiu($MtiQ3gI}U3<)J2x5h~R(IMUXC-Kf(`aQz38sZo2;=@oDm)Td|4I z;^jrmM6@_?{4Jmg3e=cD1>E%dj%vH7V3D(E)|)=}u^BVdiE<_>(5!ARFG8kk#bap? zuZm1_aeiV24!rG5w1sh4*yk?l%rOLiY8OG=Z5F&k4+F~mBGyU&8RD2bJ% zMwm7cS|L`lD(cGLap?*t@V+OplApTG|Be@fallG~`u;NBNBOZc=#EUpii0pjby9)n zAMZK=QJvi0cr9Vg!=&4t8{mxxAzcTe=?+QF5g7>*6AG4p^eT8?ljiJZ;120eWD|}u zlZuq2$^=Pkxdn0l(Q{9aYm*Z-QsqWwnP48`#@cVei$b_?AKUEJZ?B#5P=ZW$Yxk2f zhg9JAt5OYjx%R)JRZ4;trh86Bm^ahHc5Hr`afjUe`RY8wjb>Wjog2SKxj6TK+GC3* zBQbw+w}mkAA-_vB41Ts;lPw6|o|@upaG_(^?LA9VoU{G=cjWE#%O_M^!+HNHR8rpi z8Vv_Un7`iN-UG57cpHxz6Q?IuhN=UgClQ4hAdkzZCB7GuC|6{a#V8*DT_0{C?gsaT4_8^jEiMoo5fq_VzCF|UDmb!`L&xAV_3X!m7 zwmPkl9}H!r@Cmid;@?nf`JcZb^}nHJZm3R0#uqt+|D5g~Rbbke#Sb~@g#AO2550$fH`k5E&Rs$P5;i_i>fq~uy($fx79s%vqqF& znipi?HiNCtdT{#MT{CS>3|X!4*(7>zoS28IV|fqPbpBvl&wBpr;rw%6dM*Qw_w-C% z^-jqNRDP9E5`bkSscCDvZJ=~Cdjjf9bDq{+PNBhyZpO6QgBW#6fd3)jcQitk^-uXP_g?K;uUE$h zL}E5++*VN&3VeU4rt8&N6$dtH2utj0;|i~9B!ZSPi#4Vl0(r4n3j*9DNoTw?W!>OL zrA-|!SW z^N=@Z0+o*Y?;AcwHd((#hOCPEdaml3Z+C3orEeKh*S(9ej6gOy)geQC%Y{_JIfXa! z)|RCo_nb-r-$&_X$WRVXXS$CwFi zUhQT2v+c_D(_yI7Ml`2kjeMxvHDOezjXs>RC&fNSIDs7L~lLyVEFQ;8~vk0i8ht@GIgOr?W6t(gyz3XFe1R4*Ov!# z=!QAN>olcL7lah;B{c=-B+1Y|YhJGp>kAs14rw%v`xTNiCdVcR^Eu)0F6Taq@|ref zcj!XSKPs@^pp@xGwaOvqkP{ozTOEQvSZgXnr?-9BI&T5Wg4^c9VavSy;SNnqe8=Ao zB-Q!4kfTD5ufH9=aek~Gp4TR6?^Ht^L(ej_Yy42Bv~kWpDOtmPWP0PqhWekyH=Or?9v4U^ zTJ_Q@fis?qk@rSK<|DI#&&-B;{rdTJ^&Xyu3p;t1d#AVaBI}9#3ZB6~e!R~D<9EL8 zZjVMOK$Aj#$G+M3%%(p6Nr!S})c@+<%@ZGeUT!|>zH8Mxq>kAdgE396RYW#Vafk1o zxuX<*g7&KiL$$f;_xEYK&9fIpYaaabemG!o)~1m_WYmsXsq)aqFMq=ze}|EICz``% z0`|oggO>OCwl1PpZa&hpHe6=NTqZ9sjr5p~Jac<(Qt`*1c6Fvzbth{{zmtun3Ezig zzAkGT_sDS1rk39RKGfJUkzAG&66x3T+pqqVSun$g(Iaw%hFGNV*9K|~7HyeGjhW}5 zntq0!c=)Q}^p`LVzw;fhG7))~H?6twLC&*f!9nNumIQvUSv=Z&pK1htN}TDr%RSC( zWeE#6S5w|U1B4q_@0|w%%Pj2N3j90r>E>!rdHII;bQsk>pq@3o5A8a)SUU;&lygEJ zr7iN8W9-Z{L_N8xTDfx`r02BEg2G!fFUGciS%BX#i(A6)cUNz^|JjZNk9M~r9}$9+ zz2#I=kI+-BdSgnT5*I3WQ)MxhVPnXe%yi9=D6(SUo7Oz@+jQgfF1IZ{=b8l#B(mHr z)Ny9n>p|5{;CWjPaeOt~SfJv>!!)ag-V&?*Ga*Lr0{6IWIlP|v$f*W^<<47MU6X6L z_mubj5Z7IO;X)vm96kuv&DCzyGsnp@3y=3Vr*R+ux9-LtP}iMQclV&KVd+8LAW#=? z^}<5Cx9{_i+Jig55pU|2oM<_BgM3YfxSUk-F?v=#EI19sW*XOx2|9GsG8At?6UoV-8`ymUOYdU>>ZvLK{e+cDMKIAS zYfKB5nU3!}dsx{Uye?uRf_!j_H?BV6le6eYGIFYgz{4*sBL)GIF>|$Nyb~O?;DrTU z;PT)B(XG?RvjDT6n-#=9^E*8@?u^xl`!O(#x3N`q5eJ7Urf!XskXaqmlZI+2#7Xz7 z5q?pxVnC0P(2G@|uYEx-QL8(`;&_x? zb!D@tsP3u~$K1^and#eTrt4bKKQ6=g=fBLKq)d0a$koFc55kq?o7*#6Q{}Ae+)~Wo z>uJSzZVjqz36H-7jW>69oKcxMUcU+6bhif*Kb0=On@IM^URJA%Yym%)^z}2S$>>i^ z4A^96T?Ps+)RCbM1(EI!7u$!V*~#zWI1Cq3)b%rH$g)s9XsZ))^;IjPlncrAR`B*J zFZ40f;$YU>HNipjdrREYYg&(RXzK)hGXe3R@b_quYC=>o74vV2_ir>**WNJFhivk^ z#+jVS9H-m2Gg(aOl@(z&ljm8FiZoOM90S)G~I8+&Zy7DCi=ZM}Kk;%_rb8j}W`VA~K@J^_1vsLgm_K$T zKBH|4vtk@5IXUG38P}!2X2=7_NSehX1;}HZG9`QwWm#Kcv~Kyy+l2+DCjy8T6eIYJ=kQhO_)Ex(q}%ZA29lPvC1l5}#XY#}LQ zQ`UylKISBOWM~pl5NLl2P2wa?D)IsKDSAE2eSifXsDJcO_1HvD`Tl{DGHG0lO=OLly zH=5UOw-7=P^pin(;a)M4rh~o4$O*`-4+u6O1i&Pc(lKcg5M2gVc=-IqW9$q1^Ds`u zPxn_(Ll%EP9@#|i4yjZzbR{%UDWH@LN*#qt0oOc)fWoC~j*w_FC`ADo@Ew!_q&TFX z3>M9v3k>>Dhm+(XmE!+LGD(F9(Tczz5C|gU^Id`Y7^HFxo>Th2ld=Cv8vl#@|0IE& zF=;wTl5RejPSQC3Ptuh){2;m8_jbPeK5z#VBP|}7jFHriP4uenABZJ`XJ_p7#6xPw z;EI8v7^IsFuGs8SI{{KV23HKc$4nr#V^IDmkWjv61YMjEB*6@{j){qQU`U2ww}5VA z3Te`epb}&*2r2>HWP||nP!$;tk)NS(Ru@7WXu)-43apVGPLi~zAxS0! zx#GUQ(6~r2Zbc!Y_&^w2C(H{X@6M)Fjn9zCajLxiB$4k2v16#2m?i$xK5+w5L6*|% z_zM_9ag$lWovk1hWQm7Vfw=r2NCmn3+<(CO{}Z*gUSo-7rR>GOcc{`EyhM(Ol5aEx%LSrY3J=e4U*d81RnN+oQUHi=TP} z70{(D=t`dtQv(d3SMQm8i1GDyY7l}RJTU2x z@%43Tkb)jOHu)6ed)KK!33`xd@;S!W->KmW^dQ}2JjOS`sX+@o0K{HqIVD8=`L@39 zV$OgF=hcwhG)6eTwO2ygAj5#Tqw6u)c?}H`|W%yhvB7mz6B`60mr&Duzw;v zd7ho3R}AW44BMz)%}Hb;rv76H2QBCq8xD&K-LYL|MX?r2XV*Q z6Y_A4YbIh@_8)*89B4Si+sYF&aX`zRkKMl2Cq)h@!vWure+vVdw!ekB7OH=3@IgBZ zRDY*Y{AU{Nf2MKd+WnmdwkEhpO9$(L_Vo_e18u?`u7~7pc(5KaXlL(WJ>a|P?|Kfr z3hVv#`#d3&!>RrZ83uMz@?en%c88=z0FR+uB2d6PxO#GVWefZb zPAcr4Zt_I*1?3HFyI(~6U264`ydxv=98)-s9I3z^-7AB-;fs#(D>3oQEOF-Q+;~pq zHVKu6Tf;8YGd*3w+e|%2wn}UWQb7B1#ZHlax;7%|)&E;GPJ=_2EZvKdn6C)_(ilR&(>60& z776X;A<~17Gk*|Y?RZ(*KxrcOl^8Aow|sC0#2ofa+IPtJu-WNKi&pG zAK&%f%W=Eej)}yb4&s8BnA%8$s&@gW!XY$sp)l?My6Uib0piWan)K7_D`-DIq|*H%&FkC z;hl4>ARP&49{PZcCrk+Xp=2=8c3JOSnEf|-!0VtEwI17+q0GV6CWhLqf@~trIF5?S zixWYg+Vx%!Z5_7*Dxl#h++=oR6eJ3FmnrRAunAlkTvmJ2nN7eM6Ho{la))ZGlqjTw zElx~SCS2k@usP(~uSXXq|o*wB{D zp_7IvVFNvYQidV$$5W9-KfISOuL*Dy=upCW8$I>(-G$*?$TSy9`*(}uQM39FurR8c z@XxB7(Ciq&uQhJqA2pZLUljTRHPg_P*M#$aNoV7c zrc@hn-G5V;gNmlYaUu+J7w{vKq5*d{&#W%xA(+@;Jxd&F<4Q@#2i6if53+1&9I2U> z+%vDw#XiQQNaIpcGE<)1INRS3ALvgU&|?-IaN2XVusr3tnayRbeF_)m&VUDt`9F}Sa7Oaaw0<(ibrH>l_Tnu zQ~va;R}9DzW`31Vr)J}V0M$qQZdW6sB(8vLO}eWyQgpJmP-`h$Z(Pa#DbHfIbWMP! z|E9q#QF>TO$ZIocb*Z>3)vYYRbb3i(=8HZ~WYl`|b;lR|&e}q8tE%QD=LAQjK;bhG ztD2gkO*Q3&UTr9`^!M9(R}gDz-lsNTH@asXQoX&MMS^&L_!xT02_~=idso~hQK_2# z3*{p+8Oi1!G+}k?gNxDKn!=9H`YrA`-ARvL{a_;_{O*HIf&#elG_{^*@6be#U5Us% z2O9hM9$tYz#9-gKn}_F@b>yG%(i{Hqgof`SA6BhHBTq6_iCciLHoybCGTBI-*oNUR zVZ_?VRr7mJ>#a*1sBxv&Hex}WWgtzcjg%HFSmu~dvi8z+dTM)5)7Vv0R1Wr9Lre+Q zYo4UVu{m3e}@Y zaDZVe^fKrMD(LFPL6^d7Zm}Ty>v!x$0bML%yWM$dpRu4$eC$*3OQTD*tE-(JW+7RY zN8LJ!f-P>;eD_Yg<`*fYvVZGy;T~QvEHKf-%rG1q&Zk4CrmRsdB=}C_*gm{NP`yU@ zkANS3l-z&+lR+xwj?A9D!Fhg>k!SntiX*YnZ^PDS-=c<9;a{ZQ%|z;&FMhY{t*1kk z(4wNEN^b}*bfzXNDwEVI{%R~DB`?=K~Co!8X^9Gf$z@!lqK|NFl3R(EUZuKvs0 z!t~mD#(dj=2)-VUJ;!*xBs<@)SU8|bLleU<&@fH+IEqYL?}4J(dJ?jzqV;HPJJ;QK z4$#k2C2PIOG%a)fF8DyI(_Yt9g~MbHL&@_6=4vyoN9AB0-VUky?_3$V@{hlLll0c} zr=I0@L+DazC7>7in)a5lwd7bMid*L4AGtd|Hcx+SW;t);d(z8S6wq*A?JbPiGtJpi zmh7E=Cg%+)_>CyAMv-2YpB{c}CP3)C%v4_+UylR$+<(FS|AkZBx+nRPM!SRtUP?1l z_ww`$vM(k`CDczZ%WacmUwn1P+f#q`zgaKUy>~}b@+(R_~^zF#0+YQG0VY_YK390wkA3;wV&*NyW`M zO6ktDUY!EPms5SYV9dD0g3QED9}^0_{#5ON-OD#;Mar|Yo;$PqbZWdp14uFRj#}{d z| z3Sny3vRl)^oi<<}5@VPOk(p^ki$&O3XV zy=d8p#1>yZV^E+Mx=c3fW3V59%2&E8VKW|IBfeboX~(F-_3)r+xg~B{`ge8Y;m73j zhvKe}N;q=&cejeT5_1bawq`}F?$tTkK2(q3VqxQWt%tv-H>e9vHAswB^SLQWz*)~- z3o&n+GnrmgyOYVz7hh##;`92KKy)|--q8F*-`Df?N<6w%CxTxJuQ~rhSmx1@n#VL= z|2F=ha?7P@Xrb&C9rosv{;crMTEb|D{LhDpE|y?(R7(#ceG8ld&xN3RNmPN=+LM{S_lhp-%S541jwh%$u?_ zP&(zOjxLa0#c^r~_H{Hi>wSY;7_i_9< z@tBXtJhgvV-Iv5Xy79Gc>upnMr&^kLc`Fqtay${4-hJP%!2C>j-}t7;=*sAi-&55qlv%tFz32b0bcY4ot^6R z`j_?6I8fCS7pIs>f@H>ucD>VRJ?B)c=E8?gyj{a2PCB&=nxqZrzl(>=i}dk-8tC z7ZX+{jIK-i*943Ejynt@*!k*ZPLU2;^kX*e;Ks&y+gr^O<%7pLgT#^-x^;VobNXMw zwnlD6^vCVJnJQ*4E&^69y`26O&6HQT?q~B+juNji)W%P@FP@3{xW3a0ny`_-*#n0w zW&P?-$iJ3WCLNsV$E@DLju}7DZAa(G2Y=@cs!Ddj=xPnG@>!zcUQ#+Ps$tH`*}acF zJ0Sj1MB>r~`DO$^-1nHf2B|C>=?%0lPSmSk*gOA+bH3%MlNM{qMotV^NhtA{OM5Fa zhbef0Hwc#O(hm|RCcT33P2B40kNf?mr@y_E>V>OWbZ;Lm&?VpR8n5MBVRqw)( z$J@LfCPZlJ599i{QQ?ms@_5R>&J=BTsGa$W9&pZEI>ATZ0mgxx*miog0(rq|F%dss%&gU(IS$&NgGX@WMKj%+kM&~~4 z-4lw#Lb2RgUcL?NSqot?q(#>-;<>btpSl*Z$&AK)xy|pjwh{&sCiNSq0 z+~6WAG~Nx#mUllvxj|qvl)JJyX?oydZx)7lvO|p~gH`e42!8 zOv{f2YvDS?@5n3GX}UREJUu1Rn~j0?EWj*&TXgBRzbmdJ%9^&4gv=nbC&+9~FjH5> zWyD%CNkZ$kS=yBLL5gIv2@P&i;Nf&w2|exlj)luHy3)Pd%n!A`H}eE;@FqNad8XkQulLf z!SsuLd!u(yzI%=&>x$)H!k8kNQ;Aa|%UWkg1!w2fZ0KKGM7Jc|M2Qiz&EKy3kxJhg zYVvm1sIxSt#3XI)1_-}ZeaG|GVP(v(T;rcghY`lZo7IPAZ4tEYci19Z1m)aG78Q#> zhaqn>rk?LtHu0TvWFE}Aq49IFbx-JFSEz1>Hr<0FwcE|zQYiM4TN3m+A|#H?`e|lT zOo^kwS3k{43YjQ53n4oxrX)#%%}ENGG=PY?NX@4urO%WMK@vVK8GYnmD5uYq;+1i# zrbHRki1zw>)}8$eYqq_OB2mxg$0VONeH>%sTb2VFm~N`Wx%+b3-2$M#)9`;o=KrjS zJvnVnkTv^M4Ue*Z`wbUIzruWx?c3?e63id@Id17hpsqgE?UE?05ZMlPzjm-rLbJ3wx_Jb9sk1Yr=x>kxUj?+fi!N{czp1(>5 z`_V!6y*y5t!(?n9)<1oWRQ$9vL1&U#kssHQdCFAO-jtl2$FmB2IDm?xC^`o7c7)FB zn=xwOGr3}nt~UeUd@bVI$trN_)cIPlEw3_98q|Ra!hHV=^Zzd_@DFd3LJFcBqm{Y> za|8uZX9a`+js;Q>eWTkgQ5Z%HDTrn*n-yjFKn1Em(X=lEPYo5L0(DfR;i1>rIZ*gY zFz@&@?3sX1UdVeaGJ&)Pd{`5b99&W;$h-n6qap-;%^jz^+0J_uv352YihvU$`0hgy zkD%KgT)JKeMSvfyAObD%5`4Pzf=QMfrcAhj=L15i&e!&X`mYOt4|h=LYxK3{DZ&DL zAJ8LA>b(4WFexCB+Ly7jHu>`JEi(9qZxfn4fwcjf1%%gMR{(4#RR6mBe(cjv=Jz{F zewS<^9_jnlyzW-Ui&)MFX-&%SitoK;xL9s+b=z>3Wj^eI)|-1=j5jh?!`+nBPgr*% z68ZHv2c_~jQKAkQ^|Jz@K93AeYcM{9oqpRpdlqNZ`7H4y`rZ@gHEq0r!?5~mtE)e& zf_SzozK*D8TU|X}y~VSA_VyB|lLJB-N7^|}I2teUd^##Shi4%(+MFVj<(OY}Yoml% zUjdBR#v74k+U2Zm>>brN@CDynBb?YveG6@FVZ($dys>@4%$osW>f#)1tQ4J@;P+hzB)`dH=aS#~+8NQ{XD`BJ9|aYla{jREikvq>nJd5kp0bU_2cf zhvTph<;_hpK?!XYYFdKNHTb5|u?$QMjIHS&C+?UbuTF2%FHVX~;_FCZ!L5-*eiIry z=c=;l62_mzIt|DAob1tRVw|NX^PQ_|rpp;CUz}`pu6R9N#8_E+@{@B#3v${r*nUGJhf zHEK>sIy-sXK|!Z~?7sOX2r8=X)CG5%`)4Fg`Dgs}&&ZJC_1E+BB7TI>9CwF|!}rZi{ursijd1^rF8>)9{uu*PM4+6I=i(&MQFuHsE;!w10uT4D zlB5$Qd{K?h#T-bAXTy11mO6zEx*1OSRdxD5&UXF^g7gvDEDvO(ldw#vlKT45=hgPRRJv>==|2g!87V^SRg{vWvh(FC>zv6ULp_&A89D z(T#!^dC2kf^%LQi)_g8ZiVQUB!}agMbBsFL9~sRR8O}V&_bFZJ6n@pcv$t(TKh0ZwAbY3R-;I^`fFVYfHZ!3~U7~msP!McP}?d3k( zzi>XgaO>QXqV|fSf>_`8ixr{ib)o)Nh-pXmEpCymr5fS-?$&SGAHKb_H+N5s{s6D} z@U*(B{{k`i`B$x}>3m<2)WKlHAyvN@A41ibi*35l6i>u+OHtcH5!9`Jy;u=~cl*_! z$2@p={p91qUuF{_3m-Q^7z&i{<3q|q71zB&njQ?_9X5AJ4XAW&)_di8dgsv%m(+l2 zSJ9ov(13etK&@-@O=#f74e!)|de>%a=%VTdEHwb_+UyKnytxsW8qna{>;+x4-v~(! zXmV{1fG&D(M5G3^xHgA_3x$h1KPt&Pt%NTIaQGuWJD$0R)^hl&x+L7u&3nx6Ve1&U zU3{wECmd&R31vYw6&p)bpZXU=MpaiPC7CEh;YfMcw8t@1cZHy!@wlzZXUY<@OzBK_T@hg!kk{5+=Jiqkou+mJa_s8&#q!;? zYtP*j_Dwz)pMd#p`i<@f@r=nmjwt?N)XuKsi;jC#JnD0{>pZq`VG#lOMl0+qLB2NY ze%KGdrS|V;(<;fS-O&dQ#=@LpDa6`m450=6nsHvL+Vcm znYwyU-jG8-9nRq~D^c+4NNLBMzdI|`);oq|2|TO+oqxlG+~mpNbj4F&m}WuHwFR{Dalxd)F?-WG*Ag$bQLv|OtzBz<;`SbGiX)e!i;wLIv`P2gF@R4NWliiLY>Xb z<^9?oxncD~`x;7NFq3*3rF)z~rk1nTnGdVq`27%wp0@T14!Wr{__eDItaeZ>Zsz8c zT7Z_p0o+;uOAyAee#;R=Z#jE&wM%RACM#Yy5K~gHk>i}kOoL=bpqP7`%}Gl>r>(W8 z8>wMr``D#fC8UMrr87dSsSGS2csvC z%r=IBfJD)}h%u6D%FM{TBY7shgB>0_tKHk%fF#F6?}yZ5rNWuHIP};g^u*-#^18IN zMiatVHUce7K=&Zfr>x%~L{>y--h~%itg^t@ghXWeN)qEo+1KH-I(@zM$m82?X^RFS zLLx#lE~I4)u~s4*`W7a215{=rq-cw!9C?k)2v8A-cZyB6oKUXXoC z*`z-x6lF@i<9?%VVAWR0rOH+a5%$&B5)o&VpqHy4ygl~0P8hWBE2}N7r>p+RFaKFg z#rqYau|w#+3)AWkGaoY_mxZS)uvSOA`a54mNBe5bNgH&>t;Ro=1S4gt+4P5ka-Nw| z>%1yBH)T+~*q}2~8b1aa_-)QFZ+oY2yx`bie(-QVETlPO7KTJ74is4*T&GUhqc90CUAPVOZwL z;7tAo7iu#e2J|&hcAH^UO^PdO01(E4qP~On=>Pc@IS0ba+^L zwWsu|p9k>P{?CKEk0dyg;J}Hw$q5)vv^22^d0lAqY|MmCIg*BtI>C#!$Y;F|;E!RO zI^}((SEr7iN?cD|lP-QS(gd z#=_$}WVA*Nn0qUbq#&i0n6*BzWABcoIl23ScegE^(NL|*Kt-RraN<9!HLwzY98&Yq z{5DX2Q7%BivlNnNo{}al)(0}cqQ%AO9(dId3JFCt_+x#EpL0vdC#WiRaNkIrD1t(+&SKokV0vo+?)+t0nUNO@W zPBvnc7U~H%?KAYix4JW7-QDo+<}P{{%tWS|MR($#+?O8qk(*kJ--&nqX5xSfL^K@SCSRiKlqLGxyf}=JyA2x zB(EJF)9apA6{_b}n0o>H&nSGV>#H-2M7@h-CAM-a2TSpF_;wrKZZ*LJ9rNW&%=_qX z@7UpJsz+8=7PLiaBwP&NA$tjo&*PsCbveAiC`Hw&0#Mxw75H0ZIGfdewaC z2{<4M+N0@~Y&*}+-Q~A0(kWUazUxY&R-WG@7eb<9^5a`OA9NtA!EQ%M|4!3M!Lv_{ znbzi_mBffB@A{bP-)D{(o}`}Gitbv0gj}4UV(Mt8_H}iz0d10*c3m}{hZP-X&2u8- z%Hf5&J;A;FO0gSjv4yTAP#r*0c<`M(Aw{9WPRrcj zd7xwwYGMZ?$z%$3mkwlPf|&>^7YU88!D}ZHKj9OvN8eU+nOWr(#lAKP)MYH2O9*|H zkYBXGFWV*iY+=Abd(Z>d^*g??4wLNE<5n_#ZVv2M?}qxy%Vx2T@~m$OtW*=p*H~~l zf@2yK*fL{xUB>>o;<8l6HeA1jLy}KVSo}c57&LQ+LELLl?z?qoF5%!+0(-HGk6qkYqq#69cz}hG@w;)Rwd}BU$tg*Cuvd!~w}xMWTeD*OEjW|Jddd=K+L2(^am%^0 zNUX~&Zp`XJl9<*&VrM!g_@&f2+q4M=bg~rKpC_HC92t2MNelB9r7l`Ycdeq#z!cO9 zXN&6OVscBeQJL3bmP4kQuwU$8E+Qmdj85Zky+7-wc;H(7mDi|Xl0Go^K~jysnW_HE z?99dWcghsHj38$-PmTwK7gpI`<`Ci84b6smd++EB4a8dK7qMF8fEs}nyCLHu zaJK0xINL;umeZB5M(lhcM@mnLOlQnnuG(v*oQ(qFdC?<1~z&d<;dq%>e%JQ{9 zckM!xS>(x8bq#sxHE0CP1!N*IeguEuygk?dJvKD55xl1?s>^h+eyXkL27 z^e@p@xC+9I1;61oBlE18v7I3w5*W40Hr~6)muCKg?QpTn;_*!j{EKft+pIgSN%!4& ziDIO^=dSXd9fvX=OeDiTvx_8$*@-SYZ%ss5XJgAOdi%Z}Dt!xiei$)o{h?*Z#xu*& z9W8p{lu>N+8-C^JH|WW{W9ZN3}9NK z?+RU=b_|=Xzi#0f&AoR(qGV1I6Y!D`oNXESN zH05*A@8PL?0#SSPC=rJ1iqpH_SB~D!)M25~Whg0}gMV+F2 z?xixv6iy*tbu2T^Ys26e1>gO4uBR1d=UUsftA0Ee2F*Ef0V+>~huddMi+#QXaXzPplX67-C#BX;O#3`htn z#4=xtZQt!11EJ#*T~Bz#&i>@zfu&;GzP+OXzlfdM{=WkYWL-mZI)nhD2)muVCPJcg zr0;V)0bb2pL-uYF)R6m}+HZGl0g+>T(bOC~ZjA$(EqF$8me}YB&8-{$LE%l^g|h_h z;++Tsou&jxyLe;$0wRPK(k@=wQWW}ifuLR76$+ZtK-$GXe)-v0s1|QgZ)e3;{#b)H zgnn$HAQT^#es1k&eh?he8-BR9e1s}zJ5<(qAvt2l7T4HWg4%Ica4KmNLG3tcHx4#;hlcJK;q(JsOZuR_Zc;3hYz8`OV$Lm6DkNHAUfO?dTs$i2aV}#=Gj36 z&0?=8+9ajMM5iY}IC?$Q4*&U&Ywp&kjs}A0u}l-$!i8CNNT0a;=Y_2xg8uQO%T{Ym z%O3~lHI-0VZAc#(x5g9%(4*c?i7emF8NKxTMG}?$JSg8FxYHBN9BLx8^~h-O?f4({ z;>q~UR=fHfpjqtfkTXT>H{(r^KlXB>?Kf@!qR7U)-xohp?lZ-`omB|msQ1+A_rV(HjT7sFc5?t}>&P_&*G>W3&Z)KKo3dKGKpraGm{$Da zA7uC!c^T67C%*yG+AqNSDa6iY^iQUoF=DQqa=0!EXlp;akUi=D*y+iGPNnB$X-lgE zS8JofhCJS^?px8{3)iJR_HHV5(Ea$X;>%@)-Eei0PmKxE)~=~^?}@&Lnv4bnPL$0i zv98_Fo0y7v&LBPqe^g#AY)lE>1w|g*6gTPWmM@DJFEh*k42rO%IjDZTXQ(E9Z)J;S z;X~F-`yOeh_jcEbcUikKJ)Y}piPMEwa=lxWgHgX^9EoCPu1-4K{%db!qm1J{vrDipX>|qTCCbp0;l%8loiUtABJIC8U)Zwtci606UOhZu9OGzwblR`zaxAOLNf)EkS%rXW`u>Yd1-_@he8}{fF&H4m-27)835>PAe~p9vR!|Ty_B{gH z4Q||gMvG3tl0bVQ8SC^F1!}BCKRtVh(gmwB2(%ZZ(%~h3RjWvJ6dX<%j|AgbZh0mU zpAX{Ywe{n{Yjq1~Kj^2!3;aMSFHl#|hDm@&)s#GQG%n%hLInD&V1~h}4(J}mo8|-^ zN1?d+)E1q#rGR(?$iD={E28M+pghAxi zVQB=(mGS;#`ZNT|mDNW~tr!(ZH5*|I)Ehu15G2D0BpnEuR^ib{$g?^+Bx`8skv_rK zRWdYh$bgz4pv^)%b}2lucNFCDD*9xA2O~W_ey7GeM#S@9na-do*y_E1uaGPw;o1(aszT8vob)Ng?CU2$btCe02vl0SCF70YXCfFswA~s z@MOaR&{@GCNl}+qZ~B3E3{ICAq%8tzt6;ol^4ga2;Awi1b~tVi+){R<*9UI9^h}ul zH3VF;4Wm7ddB-v3LJ^$~FH3(aS(St$*U+!hNJ-LS@tWplPycmWRjlA7xr~05Ov(z+ zS@yQK+T(98HpPA6%9hj4kqaTetNFt>{g-dNjq1D8!YC_S-U{B(fdggQEz8r&VR5+z zbyIZlHtn=*1HPl8kd9(h}78yMg(|Q@I)y1>5-bMYe}>j4wv+<-^luLb?d0Ww`Uy~G<5&j&p-j7+STx{K7!?P6 zZ-(dSEjoVrrPcg3fotgK+553GMxNmYH@c{$3|Lol9acgg(0Q|8q6##q{H3VAEpzHT zX+yEuPVN)x!e!xhzR*81)SzBHMeF1 zBSl4A;NYpdNj;eoPlb^4SMoR1rBmniJY)0~RqEZOOS4+Pml+x8d0FX!`Hf|SxVx{r zKgqh%LJ1JDM~J(Er~5TU>Dv3!iqhxtt3P{o?}4hF-Fs@^xl$TaLF<}|)cm{{6l361 zF6>>kg}Ypfcfok@=d|F@J;4RWkLc4FX^@O5D8}Ar=Es9SR}>4EtZ{w#^r$&iZdHl% zSNPQ&tI@5~i+xJ%W*plQFY_-m|5lf?jKYxY<)4nA?P3te5k(B2Y>CG(h+~N&T2Ho+ z;FH|?Fz7KPE)7MCMAf5EeJFDp%yz|En=F0KZ^=EoclK%n48FiSe=;wctu9K0@dt5d z`PjA#r5WtFGPv#IYN@><+eoo|Po(H*a1}|MRVytu&{JAKeGjmab)V zV4pe3n%)aTGB$a4(^5R}W=#g=b0p?W)J+*2tr{74r zq$*OpkDW_cf$MoFX`WY|eTQU&YXt}6utq>F(d5<@8@ApUbJCR#&WQw`SG3M;!m+>X zAFgzyPmp;y#r;1}t#?Ij)Q-1|HqnaB(1z_1iKKnF8FnWPzcb98O-{&>F_Ey)s%yr^ zfVm4`5d_o!I3EYjT7lu&U(I9cOC+0yNE;sJ;We65QEnt@EZdNC^MB6U5|A^WBCa}4 z#;YiZ*?x$wC=4;IF>uAzpzheVaKQjFT9nK4INn^9MPf8GsiO2L>U87j(-NxbOdPnR zPs#VvPN#=aaJa@*S&v60r8#Mwl;_I$Rz>O*=hPytyKPmXm$f|OGU-<+kSA38PNHdo z3Yo5|uRY+;l$M^ZtIbjT%;gQ0mNq8BBO8BEsh7Dt(=+MH-dzK%_uN!8&jwR|iDZId4h|L6?ANAraZ*) zEjAOrA9&7fUa>xySV{D|q|axoD4!x7ic@9v!;kgjq{db=DcyReZeGz>8?ZsA#iQ=# zqv9Vm!8oYp6FKCmr9(+9ZhP~MruDf!pAs5=;CCt5#tz2GAIVcdzZfWSIvaJe*H-)1 zTl8|neY{L1b*$SZZv63{`}t#;aT@tK%`5_Ir**8|);Q2=Qu3!)7cQxB+O4@fYLt+2 zCHau%y=n6V9LMrA$){d+c|`)u88zv{@%}7m=vYHW-G3O>b=8b1$%;wWhDqO%vy7@M zkR`)3zRHviByr54?iEs-5+e7~k_}b%>Gf0^2qKkX`RINflr8_UQabng3rF)5P%r0t zK2<@c6jpH8aLlaMkAtc+ZbV$XduWvxDJY5RN*})NWl-0buiH&$PRIPh>kU(>Znq%; zZhAbW>V}!q?Ua05q=@J9R! zs>SM|5q{zCf2{WH21(Zho*Kp|Pt|{(%Gz3U=T}lSkk;80ZTKy7RbGUA=9kPa+6xrA zpD#eqx+n)0TB)?12Dfq@9azk%cq_|s%|rW^m+MBcEs$eXXt&s3-Q5nO(21Z(P7xpD zn4%H5jbo1ZJ$Z?5+urj2+lNBG3ml_%bj#tQE#&GNOZ|;ggZ;dw*RA53`*Xhcm6?bG z_EP-afT@~`>Xb-RXl8Zt$@o1gW=4+6cQdwXysBuCrf>vXozK|1OwZg+pzbp()InJ0tX*@tif*m>(vcmvL`XW^k2>gPi_O%9qBy|NgCI@j(T&NtJIM_Ngb1$ z=0hGABe!IxO;efYvcf4e!zl{u?cC3IZ7PP(_HUOK+YM>RH!o8ZS+!LgrTEm@8&aWT zTuWIane&Ha?fZOG8;w@(Tu@Z@FoO{iE-j|PsFPENYx6FoEW*4+T1XT&FFQ{!8l5Dp z%co-@N_l-#=skv8EH%p%*fEnp%1vsA9IrPh+{oI>b}g&Wb+DTeT2aV_ptFJ9nusZyQfe4 zKG*6p-dd^cnGD2@F(fCYeON+17F}GtQ_o=ONy6(|Ct)43cFNY%T}oaob7jOb;Wq_d zJ?*LAeNl2n({AqAl}ta6n)2y1OFodcH6uCcRQ3|4gqLh0-8zJl(bmbS0p`#Lm`=}) zRTFr%pVG&~?I%KM>lRA8iQ5imo?^@e@~FGQ9xi&CrVI?+iN4V2m|pO!7g@_BHXIwI zix*%8ob%80;b7Qs^)Wq~m$;@44Vhdgn@cboOE0VASm_Yv0t^~Goi%%{8(w}T#RD8; z&{xRyw37mdt`0_6mhYsydTQzqIJa_30fpKAGR?uV!nSAg!;+w;*sTODJ{;^joX1nl zYM~Rq{LS(*rZEuPIBtAyDO_%8E!}8v0N1|3Ad%}&0<#jLFA6gF=|nuAQEiA6Zwi0F z7u+0(9h<&*23)R zLhNWlIB^+%>k%@ew|Bme0Ir$*VpHq`GM012sLbAkWf9}cJ)^ZE#S1PStumW764l=F z)iNxkG7q<)Jw=^?_-Jcv;bKg$>EoyV*|S}5WBWZU2R-!Sqmx$)`QW{>kDq#G&vw6! zeR)OS15Cey!P6=u*6_Z#A|FX`RUNK#TKHVY#Wp9K8JLY11C=NHnlqSi#v>BqOFcS6 zQ5oy*=Hlo3RCsGe_-cz8czRusCn3^BRU0*AXlm-0WW%sFKo?uTs*|6n&5 zt3zev>=0Q_gkn%{aHtRcjFWP+I!bqW_@41Lw+{Xsk-UOKSgcc0$4d*FLZxZugUn6pC97glE?ca1-Jl5m(@KQG%5x>*8tbgatq znNJ5T3e3fKR1=*MdY+Oq6Wsf=Fz;I9ccBBWhtSU5E#b2XRBxYrArfTPep{+qNxh-{ zx98sFyc0*pseeZ5|BS+ajJqTcym+_ruJH@=+P%{fwt?&Li}L!u(-NI6K@2Z! zbNk*-w`x=qEqI;X`c@nE(+V9&gO{n)wYYrQs8m(nGFcL&zV^XIuCndG`)rQ=8HymYz$DsYmD2^Bct zK#iwlIO~#}mV!4j#j7Zl_(*3rjxQVWcx_kv6&)zOT{|&awH|(H>1K?srtOgZ`|ai| zyr4?a)3wF2rLZ}j;7s<>cXLLt^>8s9Znw-lnM-GLi+VHgnRMA}O`6=Q?}6_BF^Mhv^zH$} zZ+;F??#-ku&b0~3oWTe0!0%|L%B?hiU1SQ=+FykHhtRW<4r@S$SK_>1i)-gBkl}S! zSO_-IYD#$K*z4cFo0}E_1bH)-Cp8XQ{relVAz@!wp0C2f4EK4pqWP*Vf-zpV8@INc z9R!E!uvciSIo5cW&q48R`xLNDbtZL!a$=j=b0lYi8@Zf$Mt8td^b1g zj;wZf+Vbn}P>C9!u+1vSxi!IGJ`moGbh0Kx;3 zI>Lr18_L-He$lNeimz71^uN>ju~k#v$1Gtf2IRG#h?e#MP9|*V-kUNmcnJB5BKOy- zbloMM)vdUqJ`0JRfFH`qq;JZ2pW2cgj(XM_HZ@_XXu{3p)Pm!v*&3|u_rrBTOYmi z0Aua2qFyHGpn4iE;;^i4T)!1D|IMh=E>WxLp8N0FwMKKL7K6))C!6k#ukT+uEzH-9 z%)ELUH*}|EYg53XT0Pt5s@~fr**PV3;kuKcIu>fJ#;DU@aHbka^|LQ<-VYA2LukyC zwpwwEzZ&er-FW>85^pup>xRDr@WfdZFNzXjDx0^WLR;Ux7Zr!>@MK=PIT z1PaRp-aA-YDGIJaNLtxN1~Jr7(rnOJjTD1<=~p$z3~J5^4EAQQ>R&F~YMxk*iJPw; z5Q83|`W&POTz5#a^`~cW)HL7-UsX~4>zh<4_}$!$kC% zfoH0%B!;MF&{!}>5=a_rz+lTLPk20y?}!$}e|wD&A3q|s-z1;^%TIrt{A+CgXDl6f ze&WcpHyH>Ta}$_uG-#Lxm}bCqYs-R$X#^&F8g#z*g{4DGci{|ZmvP%yxYY9kD(j{L`nlr ze2>KvBBdctJjxMp<^+0s)Me+0$u_4*5&48=C+L8K#$_m0f)2R093d&7zlABg2}yyt zc;RQWH3_fV1R-&}Z`l^|VC)Kkz`p0$G`a!t)POP8WnF11g6L={;EUOs%sxa%gFKAg zAuY>)SZ=J>=+OBij=QUJ_V$huF+nI?A>|ih^e0A7Tx~~f40PhZrMK)@;!8<(x`;59N{)-ckw+@}(13Kz_#DJrwT-5yI*fA?R z7ef6O13Cb1zS$n};MXSwY^H!F`sPc1YpBU^XGocwe83$aP)OuthgOhd)xmCBGK{FmlG>rmcoS3bhmbrf9Tw9 z0;iTD!-WcdoV=i4aba*+hhHJ)?ipKQ)P6(THYyghJNP2v+r>!fdMN69U`@TfDLbEd zw>ol5_OLwu*Z7}{3Fu3bCCsI><0e12$DT~5%2Q(li|;|?NcqKIgzFv zVL3U3iyUwf+w^wex5MYvxwiu?rEPPwF5G<>4!v=OZ>S<5Jib~z-4gB^hQ<(ejO}$gh2cKZ7THmH5e~*KXMK_p3wxve& ztfzFhY2SGVjp$lW>1@+t0MfCZy0%T*2GBL@DeY}qw0Gpf#_XKqi#bP<+q@?j^7fzl zP+N|R>!{Tm!d4%|m}QBV@9YIhqy*O4wQr4cChYn3hBLmc!Oa*{O~I(S!4 z3R>@-as?hE(tbVC)iH8sh!Wue<9HRJ!O+#%OToi$@bW_6L%#wz_y&K`BXw(-EC`<+ zfHNA;T|?4-$JYB|jmGP?dVn<}06?3y`?TMmg(_5qemJ=B`%|L7fo7n=rP=ihVU@q| zy(Vw)vZow#%izsb56d^GL-O0FoHf8m!#H^n| z*hBr#z_=B&{P*SEk zhF5>HkYT;PZGVs|HZBxS$$a{dhNSD`;d!%`-y$wo`T0e2%cBmc4Na~mESqo?S4aG` z?7VmVy6f@`eFea+OARr-?>D+qmdkAS7{oZwj%j~rAlgjv!eoA~`-!zaZpnnOV)71c z_)am|TY>HM{dn<>keyIRI?%{4UIjMxIqqpTjVI`bvg85~j>JQs2-He7TwizC4*-&BI!+BOa^j^tT#cEp9lgtEgDUfLtz4 zc$<5{vxnkA%Kk=$nP3lnd&D`aWq8>s%kop39adU-PIo6^cPrSsRClXZk zD+C2b8!jzAxfG7$3dcEx_$^wk&c#}BAeuBCcG!ik_Ru@L+`6h;JomXMtn@k)a<)w- z`MXc154|AAD9a>oc()AB@-9Ws#zC#Nt*_p;Ndf+1Q@9uNRNkp7qg(IJolE)}>rcUP z=`JEM8vR^JtN0Tz7o0nn2$@BJ`CfF%bEV0w*8+3mwO4do>?PiGn>X9L-_DNc=$w7| zdKED}7i&MkGn3xujhRo5>uIMq*}1vit8miLj-V%a_$=LH|0HWS9A zyo=0EY7jMNvkKJt*Grq6H!a(FLt5>7w=kf6I?Xwyso(swl}BZx-gUOs*{O zm@d^tkZRDq>bPKyh3k;m?zG))`fgLDb}Pr#juZc6bQJ%t#87M>d$pJd7i*+$vxC0h z?2+{n21+OnmG>Eh4iEddHxHG~PiL(TeR#rj?p_m3a9*8L(AZ{w>*dt|t)Lo!$NO95 z{^Gj+R;ks1NgtI!O)m@;RfkQ2zorhr-BkVUHVINIybZB+4x}3PuhiZU!)H`JiW9>t zCJNSo_VLYGFy|>((DPKqQj|FMwQ1G&D@rmZlZAQAQ?6pbdLT{~#^ZKfx146X!Bpx8)( zO_QPb{pUUL!%&_}mDh{F|B$_{538-J$dtu|YjHhYyT$hUixXrme3iKv{Iqtl*dD7jg#74CH zgZuF0!G$X=G5cUYBJ~GZ(yXIh9-I9`x_DvxtT1TUfWAi$+?BNI3L~BUw7-ziYo!`Jfq>1}ns5*M54; zFwMfmh9BG8de6>Jype2tYm>5YtgCc87$^%CEno zW|&#q71@~n_;pTM2 zq>Y!Y4F|yL(-CGiUfLHptm?`$!+sKvO9Q380YZ9V2kl%A#A>e4_7}2gzw{`ZDxcC% ziEKZ-Km#O9c}cohM60ydW~!l*as4W#zt?0IW6AH@a%!I`#-$GxVq%6rJ*-)p_hxGC zwJ&fXJZ*(`zmTo2xGeLt)Yr}>b0M(u4j3BHGbSc>mODSob6W853t7@fFy2t~e(7Yn zTXkecRqQ64!kyK=6{kH5veaGL^OrYq0TK}}W4regXfAxjRt91=-{%CK*nI;gt#@^n zPJH;PQ_f{`u_+Z(qOLQn8!pF1Sn4TS@5J2x2!7ND>d{C4JTXy&QND)G>D_N^C;>+c zSYfj8dMYY^$thlg@&9mYE$_#PUJw~RBYfU@eq2I)__{Mlodd)XiRZ~_6tu47fH?!$ zB?8WMuReP6?zELr1vF=G?Q=_>)p|C!dmekuri%|xxq!I7$6gl}XQo^{KgM7-Yum+h z?QCNUpL$Mj-jSVP`dDvQ6+4@p@+m)-qy}WAg|eC{^p=;XJIK5)Vn5`^iE7R%`^#IT zf%#@VU1NL0D$)b5oyINgCWvY}S~BX^y~<4fNxdlzBxI5ivsD*|Z@GD{wP&37cXkYm zjisR*Hj?p%JfPX?Pf6dD>5_fT>w3uVOg00Yf4ZxH>7IWD1p=H~hD$Luhzx3E{@5(; zyle6E+?<{5V`#dtmK^WoZ?@T0u|T@RcUYe&q_^uOokVlnYk3{bDQV}YTz|9DNeu6M zLRn{qX8+*aGUw4TBFLt4KS^HCw2`ulrrx!$^$ILG|mDb!_CgDGWGr7q&V>gqcP zFH4-`<<>fRjK-A2&C6ZH!f<%x!>Z8l%jbND^lf~425S=>ThR)^&k_5EeO*`9tL209 zGs8X9K~TNIef6n|S|_Rvr5re)`;?rico%WfI%k{k$6AW6J5kn_-1N?+{w!zP1V!+# zZUhd9FcK#ZEv#BUEn}a9fW3u@?<@eG2~YRVXP8s{CDS%oV?`PkMuNl4l{Dg%u_t} zu_s)4KzVjn+%fW1Hk|KGRm2H0@~&%UFTg)Q2CeL}6Gq@4pdGt?1z;6TwA_7KpH|*s zRk)Ct%JTabp|9No?Qh4FmHpt8Rd41k!&dx`OQ8 zA)o^v5CjAstSi(6O$7(T`vR9GNHBmnCq^HF&;mW2qDOR=K-WPxv2Ij> zSUxD5L{Kb5?UiL4U$OZ{N|12?i5oxsOB`Ig@;9-A;l$LgDd>R?vhiEHuGu;hQats4 z+!UEfm{8J4z~;eC!b3f|_@8s3)j#Jf*gt2h-ha+tPW|W1X|)q@jgX@1WLEg&^v`Aj zB~kqC&TPd_GA3Gr`Nt2ce2gTRg}CU4!y=}N1&~Sf4=I)uTUPrrsJgCck<{ecZrWd4 za3Fa`#GEU(E6U?oiNA4tperjJkzQi<^Ldob{BBsLMdVq}oq^op>yIfFFTS4T(#vCZ z60M6ePNgc}x;~l}&jGKbGn|!-T~Qq0C{b~7RDagUw>cjAV#z30x4Ty>*x(K_xq;~D~iMT5*1#j!e@=HZ^uKQ;fz4*4+i*G?U%oD`M1Z|jjC|ZLR6QY+E+1y z(x-gm)RW;-6_DnrkN}QSZdsTwp&#?$+BVTqBf%$z&Bx&Sgo3CWB_tXC>FK8NPU?kW z$GIQJVKbSgo)}V|Tju6^mDIzKX%VHxcRJWvweI;C(NQD8Cx+g~wD^t(J1dzO{|{sD z9Z&Ti{{Lr3C}d}^?ChPDy|cGuhU~I;lD&>Sv&%e+>?Glktc;Wq;-Hk7{d>L+dVfB* z@Avlm{r>9md|lVo)9akq!Tq|Pj|)NYcLnu;AXJ;sXvv@TaE{j5mf)|vQ5L5KFJ+ns zhByGqV0hydHA+ZYLz17y)Cdt09|H|{P^f$iVSq}x3U#zgIp5< zS{>kQFrNDHGvje5mExo@~deZW$Km|33k5hDK_9KA?Y7pOKvMvcU^H8^Rp>lmJ zxY0+DfSGpGi=ev)EkH0iLCl)~s~0UKhne1Ug(^A`h=tE1*VP?9^3bM*UhmZRmvieqw1 zfwG@_o*<$OL=5J*>|blO|B{{!BK8IxmyZh^V^~U03dE+-8GVLdDG=)h59hdG5J@_I zVGOO1b{uR7yF4T4lGHjjE4U2bD=OtCPCqF6VYYVs!V#SIKY1aR-jOfll2kjEFJx~j zkGYZ6plq&Ywud9^und)N~A{UO|I4XMF4gQ*Qd$tC(IPnp=8#E)xBvv8qI@l0@c}C=;vgYbW_UQ5PTa@cu zjtc`(t6Nr5&X}dB{j@TsR*tZW=BidseHC+4VlK(R zSA&d2^v`yt(x*tYKxSY-NK} z1|*%PP-MsNamvHvaYw+Td0V{|+h@gH5_688G!BYxG-^^avjxvr)mO2FUD%!pd!}Us zsIV!r>mWtl;|Y*ridgjbMUDnc!dCAu^kVy0TywcYFZB zv_NHP+BzN=&1;GXGnD{4~$ zKmWxI>;$dlq(c~ZV0Twa76a;c&iwh)KO~ZzZJCbXlrMj=Xd}3quA{<%WM!J1Z);zz zRUhA6AzRM1Anb&@UFwjZ;|ue_lzxudOVQ@&FGIr{_iu9yTI%P_9&vryWcc5i6(MDJw^M`0V?^kI~BJcdGbS)4k}3I-@6>qfA1l zT#>gKb4ZDrqr&VuN)MxqDlbncTo*W$`lb|7$C$?RJaLM5^)@3b=Q}SVg@GX5Jt96M zAX_nQQiKbt<$O;y2N1|fOzVfq8HPA^(=LK&8QGXWKKmN0&}6^u*Vx=#eN$N;Pw;k$ z)!oY+xsj^|4gy!<@9;m8BQ*-3^MN}oj6MP!=p=us%-UPv-VyL$Lyeg-t zkxNh^gw2bfMGzI@ZZ4mOjVhC?;ohz1*o@dii0Bqxll)Y zW$R!oRK~~zA1^iFNC4=#FCFYdtbsm%PzC`d0pJR0PMo<){^yG7^9Qcc|GAF*=UO`m zP7f$}@Ox_-7}$d;j*QTm0|UMP%)5{&5L0{VP}?zUF8#RTqj_tGPAsaRjm_fo+H@rQ015wJV`?dn_aT3?X#SIehrsGLuW#GoR4 z$)HC78}7S3cv8e*Ou*xmQF1RFJMHQxiM8NSs}cqo`C2OV@mkgJaBO>_-ki!9;}tcsICk|jCM0>k()}J>&e-( z=J1gDHcuWPpA(A<%zM@Kj&_f0k;8^Eam!*9@^~78n#&^w)kV#@HofY0Mip4R?A{@* z>w?KI0`4s$tuL}ZN%}R9V10ouj!QlDiC$w2CZ)IJNh}P{?>xbSKY8J!`A%_HK>3Qd zEsj1iCn9d$K2b!cFki5Uk61HHF;7rl+EMX7bBXOZk zM41`wr@u-bFEIHaRs4`cZQBn6FnOi=W;?x4^(u0jI;Ay6q?>-_bHD^d{+6j6uuUB6 zmU!5O1ZNcodwi4D=dj2A%eKqgZOTQ>&Lo?hX;a+ntw-`zj>id z!bF)M0<}FY(vD2D6UW38N90Mxh={;j>AF2PXt{lVV<@jQbXyC20c+de`2D;zv^Cho z?{)dgN3U|S@JceZ8ZuaGCgEr6#Lw2q&(D)ZMhi{w;U-*dCVHE8;(9Tio3bd6K!-oe ziLwSUC5ADoGXuBl{}zQ-ky$>Z8GMYp#6t6shR}B{(KJolVq|_i^do<^1^2_E#fV_s zO&=J;DZV!i((RpuO(%boRn;)P*ql9mf)Dchr&&5@hQfgU?b z7{2nkYA2(WBGgZ()8%K{i~ESFnCEww5*vBN^l?d>RL+(c6Ilcm-~H@on04NTv5W;4 zcd>6JmJI~j;Cj;`-4K%CjihNTm;0LhO&RmIQNWMIop{}}RQ!5r;1QdNS8~*ne>nD6 z7s7>`-U`*$YpLJXsZ4uq?DkxA@!7k`>O##gS2V9bJ*HaZ(9y{@(`HGoBsQ%khP~>; z(r4`Bs9WODk^LXb^=HdO9xw;KY?KFNvj1l?P=|BW^>IL}l#r>y6Jf?;^8Q1Csxw>_ zGT#BSmc+6&V6>Lwo&fn*!P=gq3c4*$VBgrf>N{|?N%d7ooGfh81_qGps{mkHEzhVQ zmlkdcjn0+M*Dj1~XGbC?)WfqQyG{rXG~}_IOFK2X?maC*iV(nn=7b2rdIg8gL@gCl zr;ziAP{cZw!F}d8ks2p>JS~yY6UCuUlf_PMQ$l*ptORBl5*UuFjhfu%_ubaKChL3; zs&v&RD87o<**m9y(|zLP5$2CKBGt5>$6=a6@>O?e)Ly*#u zi6k*3uBuCG>b{B?D~ zV`cq{EZnWK@LcJt{BjO`fqMsDwWDR;B<5hb9xO{$`LBS$3`v@Gg2m)q(UTQp$h8mtvJ2K_WxYP_ad9E`)QbsofHH3o zB(3!;&L2-$#0RHnU$OCj@>khP8Y_im>}1k{;WqK)FP}fUzoQ48Gw5^HG3U8CZ}Pu8 znzLEPd0JWU_VQ@BC+j|g`XBk<(H|=@)MlsH#d%IIV<}Qt=6I$^ze@~`Kwk*0+Olj= z-RRhLJIanQsSdP49mU-c2ew9M$kT&KHCg14xSE^De@HkRWa z`<3>GDfIZdS=vyqsLZ?Bz^%WpZ9?{5sh@^VS~gFAsA0iqEwjaE#@7tX!T*idZ^b{? zHn*|E&9!fO^V1~F^s*`aDZ`>$*k0v8h-E1E*bC2H1fud6m2?NXZ-o0)y}p4Ri%&yW z&=o+OD+g5F)Ga-97bfm9&cOK-iG6GQ0#p*Uu5oi>uqPdt)Vmy+r~=(pR#`c>*>}lR zPPVoNVct^f(h&iXE5?}w9q7iD>Faq_!$e=V7!vr@c3nte#<=Z2YiGmOvkbtSx|G*< z>yMKPN;Ve4`OFe+C^5PC+EDO>lHZw0R0Z>0Y z&{h4>w!gz7`$*&AhF7oupS3m9#Gg*KHsjcbSzz1FU;PxZW3%hKO&$%wl8mWucqJ=Q zro@>l0EdONML>3)UPKLm<37n=LmsL<(7v@B2ad_J3-5C=8xq{r* zUtk;sFafRg((usiot~lW#cd;(?P$lEYB!Lx!`tt1{ zZiWSE7I339=w{!g{&ZroF$f9#c6LwXuw$ngV|G$$wjX+7;81;4m|ew zHC?^%$Ei+e1DDcGLvcn(19ex#CMT>;8Eh8D!HxSG%RP>|BOY!;&R3qSPjk@M-v}^G z%nw`7TCrY8| z>{XTw7NgfsJmU|88C###66=)IT0T4sXm62X!PkGsg^R;X!G6z7KMWRuiJJmLp=syD zTSh1}ea-ycR@D;wy_dw#nMIYYP8k);i65yL(K8t1R;%_xD7v0FjblDF0+%=pX7wV% zlo(st%>XpCs>(mXfJWaHF4X;9dE29~`3K=sDXAy=+x?6~UnM0BFgqi1z>_X+aRK(n z$hX|>f>T4+0njr1aDS=rU1);hzxZM0+ZL1wu%~!9=bU>}yY5ng;`cv*ph@a+6%+w@ z*X+wB&V#Z5PQFSCMzWz89YVevOkYD`zNJEIFlY@$*4!|Hd2Phu2+JYc_s3#e8)uKFsYT$+E z8PkI@-8e&ih3`V*!%+lKQjY>i2|_Ksu&2?u|E^o3pZ7FxYV(Bx*M&6bKh1yy2;JAn z6BK&#PJX+qK>g1kjJEBsG8l-3+JaxtsS?13pe1!vdsyN`8i*2~InDezO+pPL0Jm)W z(P6^bl!B$g=Z}4ZnG?OfqQ2F({zIlvsGk>d;@NcDhF*eHmkXh> zdpJXXP;$*+4``68vOJ)eh1QpV>N4p51^cCdRGC4`Ft|0?|6IX8B|iBMSwYBD&jn-{|UqEE2`!IQlXvC zAVNifM&^>nZD_)v`&p?1%KGO2i~^d>z?B8sYMxAw2CB+Hiy(nqK`$~w9(5hkiuS#! z1&t&FZO7pI!xTTOJcRzY7Ff z`}7cCaM@H4=uRe02cp5*4PnNfBlogbl95er@_fOK{p0X#|ly3%+4?i!7!xzpwu5l%jCmS9qAq3Fu54Vv@ zRCz(*#?zB1qgPQ(G3Awk8&M}w1s%^^=T+tIbpQ0%+E#jBtl(^XM}rn=K1@dxPDTWe z%IY6GeC{IYe{Yu2j7$gZXom8b$lZZRjZ|kp^Rs`EG-EQ^J$RJr_q|^$2~ip`iO;4U z;Za`m9D09)pKscL0mGUwEyEDouG=9E?H10J0nRPBhhTq5dic^3%-vWv%QmFH6H>T# z&VGXLAZ7$9T$7d!YTZWg>$b{Eie|iEiLZgeFTZDZ+3LNY{{Bn; zG$x?_O>Fe>?wdo=Dn@V8ec`4iI{%p4&2KJnDOw`+7?QA2!{<^)j+pmz!>FaINP;!SPvB}uRA~(Z@dl*p6vp}^r1pNQH(5lKCxnA3&H%}xdBWczwqHwYW|wfLjZ^LXtZ9!OHVRC6GD73g%INowDtX^~O4f0ilE$5{<@x{+LbjhX{^>u1-i zz*Z$dJdosGdtW&eZw_f{e+8}$|GEA;)7%EG&n3>(yMgO(pvnEi`dJg$bwCf{HP1R! z)Z6Z4lk};6Qe&Pc(!9f>2P~GOEm5>?eCKm9rHb^{+0HmP&sNe_W5c&LF8x3x5x%m7M$`{H^Qcx{jW zX?CB-JAxN%7szSf;NsJO@(+Z9{H4hEm6HiOxfc0y?;rthkm10fCgJjV;_*Gdz&neU zb{B8UH%9P8oeje}M8r;JCJ63B;&?tCg$jykL z@Im>c)^1Bz0`{)!)|C9IE0vw&WWl|9s z458gR&YAzHOBGeHWqBahm0gxY9~K{sT*i0J^9Z>teq53-z_EBgP~e9WCe6vnCra3# zx_0Uv+H?_`+g2Zr1M*hf8<0FUrYs!Gf$HT`xr5uXZKzY0#%3e~+uY)&C% zPH$T_{i(dKbHyu8g%$Z?oYVKO4CXx5L|e5VMC?*vmWN-}Ui(}Rm%`ph7Hp0B{fWg^ zy_x6bXHt_pEQ+IEDZzHVKz>G~X}KchCFkHbk{3yVi?Sg}1dB89q)g z-NQupiUW~CO=uF{8ZQnHeL=6a`}jkz8dW(Hb$Rq3n_$}`<$@L>8)5zE9;-CDq5A7y z5^dCUotmR5*S&D`DQUyS@H#)~3<-@DQkUMulv0r0)8g*L5V-zbO#a?U{y^5Nv^k`} z_1mYmyRN#ojrD@q4i^rWQ<$~Ll)zVhY=@(VO6a~y{x;Kz1j&FTPrIQk!ZS;|DR({L z7aeY~izwWsd`xqfZ7%_{=#=Z}k^K~f<8OOkBcjc1eW!}t+xm-4jE+RBg0kmdgq0Rc z27Weqfb(JHig)h%DAeF>HIO9_-!nbONwMBoM&6jx}X zOf+KbW3Bm3X@z~23^q|V0uEp7s@Lxc@vrB6Dl6U(<_{k?u`c^$unOK4( zXKX9W2Yj;yuhS+owMDQ^MHVSvjiXDDAU;_2M@oVK3wycG6waR$?T1Wa*6?pqg>zGF z;+r@*=AsGRuN9KdlXc>*6ezF>aHPX;mVFQ~Q9DbbG?AV}ASV>7o?n_ql zx_B@o>rY7x{|YPj_s4HGo|W|*Ya_No4EvGzH%-HjY1@UO<2I;%`2Se-$okBBN(c&B zFwddc#Z)0d&E0omJjYV_#_|irq1d~#-_3xvh)Ll5?Wp;~?*Q^YIH~pFn_UmaKLwiG zC`a`Y&(mAi2IsP$dgtwNec!PyP#fY-jfgzVyVKe};ECJ(WV0nwY{oNcBHf)wwo#iH z{I7U_4){N^tdOb7g}2#XbY3xu)m5;>pR`%6U34FB7;ArPljlefrn?CxpV->%-N1k(IqyaNT7 zHOA+6Zd{Y?D1XB9T=VO()gPidBckeV)!#|~E>TVe0>k4W5@l6d7JaVs={^0>NuR$d?9p6aXo|FYNUY{);8{d~*3 zYg-&64v%@@^vH_v5S)|Km$vsSV$Km@Ll)g_@NnrPj199)37-2L{8Zdk{{B$LqK=5I z^pwH+TfqYbwM270(^`!Bl?i5ZJp|8-s)_*BfIQwCw)a>+SvTv{wx@wLPfkJb4^?xi15$W;>u-ir^#+@xb%hH|mCDHT0ICnq)v$`*=h75xBuV;=8sRYhnYnQikbs8K` zELv^8+0ji;xaBE4cl_NUOw$dTnY(&|;DMG=9l=Po@xBE!OO77TS#l~C(`9>($k2YE~HoQ z<7zLewefenAg?Sy_;z(Q!&D8!SWO|n&~XDYkm%%uRQ-gMil*um&-r!Gqk!Y-8f~xb z6V4k3-~h%^==}~SKg(`u(u~T2$w{fv$?f!8OT2|S_cxYB*&IM|T$?+wt#Dyz`LdYa zB55h|_{K8Vu4%?*Bec80jbrA`BLbUg1KF$@Z4W~83jNb{SP?QkenTWPJuFqqwAE}GW$2C!cATJoesX8mYkB> zWE;3=2DNx6R}aE1AHH-tSm?6V;%0Ao6^(d1jS)DV16O)cj4vr=HqP1KsajK@-Z3HG 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%0DP_kkqYo?cFBM1 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�JIId#Kl0SMgZWZ0Z)ErZ9`8MZb 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 kZG*+@T=X3(U(C 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

qLw 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 (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

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 Mk0$ 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 0000000000000000000000000000000000000000..e2387a62df729d6bbfbef9feb2227218634e5710 GIT binary patch literal 815565 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
66&sfh*MC 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%0ArSlhim9Mr&Hx1ZASnr8!Q2H|0l*W8uA|Kj&_#^j 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 +IvRd>fR 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 z
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%0AytQGI;CNd$aoN;Vxq*U{jo67<)}gntL8 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