From b77d279a72fe195a2dc945201a9723f805a451b8 Mon Sep 17 00:00:00 2001 From: Cinna Davis <1337isnot1337@users.noreply.github.com> Date: Thu, 22 Oct 2026 10:02:40 -0500 Subject: [PATCH 1/6] Preserve coordinated hyperplane supplier candidate and exact source closure --- research/hyperplane-retiming/.gitattributes | 2 + research/hyperplane-retiming/ORIGINS.json | 72 + research/hyperplane-retiming/PATCH.json | 380 + research/hyperplane-retiming/README.md | 17 + research/hyperplane-retiming/SOURCES.json | 24 + research/hyperplane-retiming/TASK.json | 90 + research/hyperplane-retiming/VERIFY.json | 20 + .../inputs/pr4610-word.json.gz | Bin 0 -> 207650 bytes research/hyperplane-retiming/intervals.py | 421 + .../fresh-helper-boundary/CHANGES.json | 562 ++ .../research/fresh-helper-boundary/native.py | 183 + .../research/joint-helper-lattice/PATCH.json | 8991 +++++++++++++++++ .../joint-helper-lattice/native_joint.py | 118 + .../buffer-borrowing/verify_buffers.py | 351 + .../complex/prune_native.py | 253 + ...THREE-base-FULL-IDENTITY-CANONICAL.json.gz | Bin 0 -> 82793 bytes .../THREE-base-FULL-IDENTITY-NATIVE.json.gz | Bin 0 -> 198063 bytes .../complex/native_extensions.py | 233 + .../complex/power_two_balance.py | 130 + .../kappa-rebuild/complex/rebuild_native.py | 453 + .../research/missing-join-frame/PATCH.json | 24 + .../borrow/vendor/clifford/clifford_exact.py | 149 + research/hyperplane-retiming/verify.py | 3 + 23 files changed, 12476 insertions(+) create mode 100644 research/hyperplane-retiming/.gitattributes create mode 100644 research/hyperplane-retiming/ORIGINS.json create mode 100644 research/hyperplane-retiming/PATCH.json create mode 100644 research/hyperplane-retiming/README.md create mode 100644 research/hyperplane-retiming/SOURCES.json create mode 100644 research/hyperplane-retiming/TASK.json create mode 100644 research/hyperplane-retiming/VERIFY.json create mode 100644 research/hyperplane-retiming/inputs/pr4610-word.json.gz create mode 100644 research/hyperplane-retiming/intervals.py create mode 100644 research/hyperplane-retiming/vendor/research/fresh-helper-boundary/CHANGES.json create mode 100644 research/hyperplane-retiming/vendor/research/fresh-helper-boundary/native.py create mode 100644 research/hyperplane-retiming/vendor/research/joint-helper-lattice/PATCH.json create mode 100644 research/hyperplane-retiming/vendor/research/joint-helper-lattice/native_joint.py create mode 100644 research/hyperplane-retiming/vendor/research/kappa-causal-continuation/buffer-borrowing/verify_buffers.py create mode 100644 research/hyperplane-retiming/vendor/research/kappa-function-composition/complex/prune_native.py create mode 100644 research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/full-identity-certificates/THREE-base-FULL-IDENTITY-CANONICAL.json.gz create mode 100644 research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/full-identity-certificates/THREE-base-FULL-IDENTITY-NATIVE.json.gz create mode 100644 research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/native_extensions.py create mode 100644 research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/power_two_balance.py create mode 100644 research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/rebuild_native.py create mode 100644 research/hyperplane-retiming/vendor/research/missing-join-frame/PATCH.json create mode 100644 research/hyperplane-retiming/vendor/research/t74-native-fast/vendor/native/new/code/borrow/vendor/clifford/clifford_exact.py create mode 100644 research/hyperplane-retiming/verify.py diff --git a/research/hyperplane-retiming/.gitattributes b/research/hyperplane-retiming/.gitattributes new file mode 100644 index 0000000000..8cf65e53e7 --- /dev/null +++ b/research/hyperplane-retiming/.gitattributes @@ -0,0 +1,2 @@ +inputs/** -text +vendor/** -text diff --git a/research/hyperplane-retiming/ORIGINS.json b/research/hyperplane-retiming/ORIGINS.json new file mode 100644 index 0000000000..718508db98 --- /dev/null +++ b/research/hyperplane-retiming/ORIGINS.json @@ -0,0 +1,72 @@ +[ + { + "path": "vendor/research/missing-join-frame/PATCH.json", + "original_source": "PR4654:dca175fed8ebde8980635fd3b4508b8cba89a1b0:research/native-quotient-interface/v/research/missing-join-frame/PATCH.json", + "sha256": "9ab5328245ff02c9d0be21d39bcc375f50bc5d7909e9f7b9a3a9a6f812f5bd6e" + }, + { + "path": "vendor/research/joint-helper-lattice/native_joint.py", + "original_source": "PR4654:dca175fed8ebde8980635fd3b4508b8cba89a1b0:research/native-quotient-interface/v/research/joint-helper-lattice/native_joint.py", + "sha256": "50869b1bcad7493e6b4cb2a4cd5d2fd9a193a5921100483fa2c3f2c999ddfd46" + }, + { + "path": "vendor/research/joint-helper-lattice/PATCH.json", + "original_source": "PR4654:dca175fed8ebde8980635fd3b4508b8cba89a1b0:research/native-quotient-interface/v/research/joint-helper-lattice/PATCH.json", + "sha256": "296d0e8c58cc70febe042c681ef30d6bb469818c0835fbcaac8aa8d330f5b727" + }, + { + "path": "vendor/research/fresh-helper-boundary/native.py", + "original_source": "PR4654:dca175fed8ebde8980635fd3b4508b8cba89a1b0:research/native-quotient-interface/v/research/fresh-helper-boundary/native.py", + "sha256": "9b55a2d3c3972148fae9d112e745d9244968166bd89bd900c938f429fc76ab29" + }, + { + "path": "vendor/research/fresh-helper-boundary/CHANGES.json", + "original_source": "PR4654:dca175fed8ebde8980635fd3b4508b8cba89a1b0:research/native-quotient-interface/v/research/fresh-helper-boundary/CHANGES.json", + "sha256": "cde73b8ff5b3c0d06e69e2293b991b24fd14a16dd4ccab7ff6b3439074a94624" + }, + { + "path": "vendor/research/t74-native-fast/vendor/native/new/code/borrow/vendor/clifford/clifford_exact.py", + "original_source": "PR4654:dca175fed8ebde8980635fd3b4508b8cba89a1b0:research/native-quotient-interface/v/research/t74-native-fast/vendor/native/new/code/borrow/vendor/clifford/clifford_exact.py", + "sha256": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962" + }, + { + "path": "vendor/research/kappa-rebuild/complex/rebuild_native.py", + "original_source": "PR4654:dca175fed8ebde8980635fd3b4508b8cba89a1b0:research/native-quotient-interface/v/research/kappa-rebuild/complex/rebuild_native.py", + "sha256": "f94c527cc02215de49350d477618188c4c0da48bc8fb05b4e37b24c482cad7d5" + }, + { + "path": "vendor/research/kappa-rebuild/complex/power_two_balance.py", + "original_source": "PR4654:dca175fed8ebde8980635fd3b4508b8cba89a1b0:research/native-quotient-interface/v/research/kappa-rebuild/complex/power_two_balance.py", + "sha256": "76929bb3887911ccf100c4593574b8a1c82ee64e96f939a8aca196869438b424" + }, + { + "path": "vendor/research/kappa-rebuild/complex/native_extensions.py", + "original_source": "PR4654:dca175fed8ebde8980635fd3b4508b8cba89a1b0:research/native-quotient-interface/v/research/kappa-rebuild/complex/native_extensions.py", + "sha256": "50ad007d9c386393657e86c99a96ae0a63a8fbc52872579b185002cc626e88e3" + }, + { + "path": "vendor/research/kappa-rebuild/complex/full-identity-certificates/THREE-base-FULL-IDENTITY-NATIVE.json.gz", + "original_source": "PR4654:dca175fed8ebde8980635fd3b4508b8cba89a1b0:research/native-quotient-interface/v/research/kappa-rebuild/complex/full-identity-certificates/THREE-base-FULL-IDENTITY-NATIVE.json.gz", + "sha256": "c54b0a3e129d28e6dbf74fa731fc3bb70fe3c6705f07256750fbecddcc842d39" + }, + { + "path": "vendor/research/kappa-rebuild/complex/full-identity-certificates/THREE-base-FULL-IDENTITY-CANONICAL.json.gz", + "original_source": "PR4654:dca175fed8ebde8980635fd3b4508b8cba89a1b0:research/native-quotient-interface/v/research/kappa-rebuild/complex/full-identity-certificates/THREE-base-FULL-IDENTITY-CANONICAL.json.gz", + "sha256": "6418ec3da24d548a57f5c3fe5b9062c26c9478e638504a61c387f5cfb5f4ed61" + }, + { + "path": "vendor/research/kappa-function-composition/complex/prune_native.py", + "original_source": "PR4654:dca175fed8ebde8980635fd3b4508b8cba89a1b0:research/native-quotient-interface/v/research/kappa-function-composition/complex/prune_native.py", + "sha256": "f2b37c183a10922eabc8e0436b426a08866430e96bd0adc7e178951c7fbb5257" + }, + { + "path": "vendor/research/kappa-causal-continuation/buffer-borrowing/verify_buffers.py", + "original_source": "PR4654:dca175fed8ebde8980635fd3b4508b8cba89a1b0:research/native-quotient-interface/v/research/kappa-causal-continuation/buffer-borrowing/verify_buffers.py", + "sha256": "106b4d5e052427230df452f0c901d5390a0583782960b80a8af94d9a984022c7" + }, + { + "path": "inputs/pr4610-word.json.gz", + "original_source": "head:1eb8da6cfb35512c0cc2533413e5ca42f48e13c6:research/warp-interface-20261022/ACTUAL-WORD.json.gz", + "sha256": "d578875344095047c383ef513e69b9deb9d99d2b75abe14f7359d06365a924ac" + } +] diff --git a/research/hyperplane-retiming/PATCH.json b/research/hyperplane-retiming/PATCH.json new file mode 100644 index 0000000000..bdd92a91da --- /dev/null +++ b/research/hyperplane-retiming/PATCH.json @@ -0,0 +1,380 @@ +{ + "helper_entrances": [ + [ + 472, + 114, + 0 + ], + [ + 538, + 114, + 0 + ], + [ + 560, + 114, + 0 + ], + [ + 561, + 114, + 0 + ], + [ + 584, + 114, + 0 + ], + [ + 602, + 114, + 0 + ], + [ + 603, + 114, + 0 + ], + [ + 604, + 114, + 0 + ], + [ + 605, + 114, + 0 + ], + [ + 628, + 114, + 0 + ], + [ + 629, + 114, + 0 + ], + [ + 630, + 114, + 0 + ], + [ + 631, + 114, + 0 + ] + ], + "contacts": [ + [ + "B", + 11, + 114, + 0 + ], + [ + "B", + 12, + 114, + 0 + ], + [ + "B", + 13, + 114, + 0 + ], + [ + "B", + 14, + 114, + 0 + ], + [ + "B", + 31, + 114, + 0 + ], + [ + "B", + 58, + 114, + 0 + ], + [ + "B", + 59, + 114, + 0 + ], + [ + "B", + 115, + 114, + 0 + ], + [ + "B", + 116, + 114, + 0 + ], + [ + "B", + 117, + 114, + 0 + ], + [ + "B", + 118, + 114, + 0 + ], + [ + "B", + 119, + 114, + 0 + ], + [ + "B", + 120, + 114, + 0 + ], + [ + "B", + 121, + 114, + 0 + ], + [ + "B", + 122, + 114, + 0 + ], + [ + "B", + 123, + 114, + 0 + ], + [ + "B", + 124, + 114, + 0 + ], + [ + "B", + 125, + 114, + 0 + ], + [ + "B", + 126, + 114, + 0 + ], + [ + "B", + 127, + 114, + 0 + ], + [ + "B", + 128, + 114, + 0 + ], + [ + "B", + 129, + 114, + 0 + ], + [ + "B", + 130, + 114, + 0 + ], + [ + "B", + 131, + 114, + 0 + ], + [ + "B", + 132, + 114, + 0 + ], + [ + "B", + 133, + 114, + 0 + ], + [ + "B", + 134, + 114, + 0 + ], + [ + "B", + 215, + 114, + 0 + ], + [ + "B", + 216, + 114, + 0 + ], + [ + "B", + 217, + 114, + 0 + ], + [ + "B", + 218, + 114, + 0 + ], + [ + "B", + 219, + 114, + 0 + ], + [ + "B", + 220, + 114, + 0 + ], + [ + "B", + 221, + 114, + 0 + ], + [ + "B", + 222, + 114, + 0 + ], + [ + "B", + 223, + 114, + 0 + ], + [ + "B", + 224, + 114, + 0 + ], + [ + "B", + 225, + 114, + 0 + ], + [ + "B", + 226, + 114, + 0 + ], + [ + "B", + 227, + 114, + 0 + ], + [ + "B", + 228, + 114, + 0 + ], + [ + "B", + 229, + 114, + 0 + ], + [ + "B", + 230, + 114, + 0 + ], + [ + "B", + 231, + 114, + 0 + ], + [ + "B", + 232, + 114, + 0 + ], + [ + "B", + 233, + 114, + 0 + ], + [ + "B", + 683, + 114, + 0 + ], + [ + "B", + 684, + 114, + 0 + ], + [ + "B", + 685, + 114, + 0 + ] + ], + "hyperplane_functional": 1, + "paid": { + "1": 2183, + "2": 416, + "3": 507, + "4": 135, + "5": 40, + "8": 8 + }, + "helpers": { + "4": 28, + "7": 5, + "8": 38, + "9": 337 + } +} diff --git a/research/hyperplane-retiming/README.md b/research/hyperplane-retiming/README.md new file mode 100644 index 0000000000..0aff892138 --- /dev/null +++ b/research/hyperplane-retiming/README.md @@ -0,0 +1,17 @@ +# Coordinated hyperplane retiming of the PR4610 supplier + +Prepared by Cinna Davis with substantial OpenAI Codex assistance. Apache-2.0. + +This candidate changes 49 persistent scalar-contact frames and 13 arbitrary helper entrances together. Both retained literal interpreters pass all 632 arbitrary persistent inputs in both orientations. The main endpoints, scalar opcodes/order/coefficients, shared native maps, eight paid rank-eight centers and owned clear/copy lifetimes remain fixed. + +The new local paid census is `{1:2183,2:416,3:507,4:135,5:40,8:8}`. Independent helper jobs are `{4:28,7:5,8:38,9:337}`. The paid and productive rank masses both increase by 13, so the gain is a redistribution under the concave moment, not a larger rank surplus. This is a changed local supplier candidate, not a new multiplication theorem or selected kappa. + +Full physical phase and exact arithmetic checks are being added. The patch and exact predecessor input are preserved now so this positive result is reviewable. The inherited compiler, native execution, precision/tape, analytic/recovery assumptions remain separate. No independent human review is claimed. + +## Open next questions + +1. Check every changed physical bridge and helper normalizer with absolute phase. +2. Certify the entire p16 invoice and finite/outer admission. +3. Extend the coordinated search beyond a single common hyperplane to seek a substantial gain. + +Credit Cao Yifan's #4610 changed-map supplier, Cinna Davis's #4470 lineage, Dugongue's #4654 chart grammar, zxv, Jacob Alan Sussman and all retained scalar/native/Clifford/compiler sources. Exact input provenance and unchanged vendored notices are in ORIGINS.json. diff --git a/research/hyperplane-retiming/SOURCES.json b/research/hyperplane-retiming/SOURCES.json new file mode 100644 index 0000000000..56e32eba19 --- /dev/null +++ b/research/hyperplane-retiming/SOURCES.json @@ -0,0 +1,24 @@ +{ + "schema_version": 1, + "base_commit": "b58ad9ef4d4e861b0eaa5dba41742bdc072dca51", + "files": [ + { + "path": "certificates/selected-result.json", + "usage": "provenance", + "git_blob": "c35482cd9035843b15a634cc8276a7e1e40e8395", + "sha256": "6fe0a099b89aa2aed796a13c3a21dafc63f3388ebf397464e44e0451893b9375" + }, + { + "path": "docs/research/agent-task-catalog.json", + "usage": "provenance", + "git_blob": "f126dd2e2dad2b669e75d1d0d0bd05c600725602", + "sha256": "f7a48bfa2659b88378282a8eee7d9fe52cdf505594124c4d1686b58510fffd72" + }, + { + "path": "docs/research/current-priorities.md", + "usage": "input", + "git_blob": "a87818dafbca574053504ab07ceb7dd5eb805f77", + "sha256": "db049fa3f75bd5345b23b736e51b7e912b39d372040b462c3e82610c482ff0c9" + } + ] +} diff --git a/research/hyperplane-retiming/TASK.json b/research/hyperplane-retiming/TASK.json new file mode 100644 index 0000000000..2ee9030dab --- /dev/null +++ b/research/hyperplane-retiming/TASK.json @@ -0,0 +1,90 @@ +{ + "schema_version": 1, + "task_id": "joint-query-controller", + "priority_revision": 7, + "base_commit": "b58ad9ef4d4e861b0eaa5dba41742bdc072dca51", + "original_card": { + "id": "joint-query-controller", + "question": "Can the installed QQ16 caller win a complete matched protocol bill, or can a changed demand eliminate actual paid work?", + "starting_points": [ + "docs/research/research-family-status.md", + "certificates/selected-result.json", + "research/qq16-caller-install/README.md" + ], + "methods": [ + "Derive the matched whole-caller physical bill for installed and baseline protocols.", + "Change the actual demanded observations and prove a cheaper legal producer/consumer contract." + ], + "acceptance_gate": "Name the changed premise of the fixed F0/B1 observation obstruction. Show exactly which query is recovered, legal native reads and restoration, and a full favorable budget including cover maps, helpers and endpoints. Local inverse identities alone do not close the global controller. A scoped local result may be retained without a complete supplier. Expanding it into further construction rounds requires the family-level budget and obligation gate in research-family-status.md; an optimistic passing relaxation alone is not acceptance.", + "first_step": { + "command": [ + "python3", + "-B", + "scripts/research_baseline.py" + ], + "expected": "PASS_RESEARCH_BASELINE_BINDINGS_ONLY", + "inspect": "Read #4166 COST.md and ADMISSION.json. An actual caller connection is now proposed. Its native-component profile loses; parent park/restore versus external-call costs remain unresolved. Retain the producer and recovery lineage rather than rebuild it.", + "scope": "Source-binding orientation only; no scientific replay, theorem acceptance or supplier admission. Budget any heavy replay separately." + }, + "first_experiment": "At the actual installed cut, compare matched complete parent park/restore and external input/return protocols at the same bank/packet geometry, including every later root call and service cost. Alternatively pin both bridge observations and derive a genuinely smaller source-compatible demand. Stop if the complete necessary inequality fails or an essential cost is unknown; no larger decoder scan from a local tape-action saving.", + "bottleneck_link": "The native local words exist; retained query information and its physical access are the missing link to a composed recursive interface.", + "allowed_variations": [ + "One paid query, one changed first pair, or one precisely specified affine helper state.", + "A counterexample or lower bound for that exact proposed repair.", + "One unresolved obligation of a newer local decoder, with exact source heads and a distinct claim/domain." + ], + "scope_change_triggers": [ + "Retaining the fixed first pair and ordinary schedule while allowing only homogeneous selected-only control, already excluded by the witness.", + "Treating cover-map counts as zero-cost physical address operations.", + "Recreating the pending complete local decoder or early-record/output-bank coalescing already under investigation without a distinct audit or changed premise.", + "Treating a completed-output defect inequality as a producer-interior, dirty-range or physical-cost certificate.", + "Recreating completed-output recovery or caller wiring already supplied by #4166 without new independent coverage.", + "Dropping retained later root calls or claiming native-profile dominance from the isolated publication saving." + ], + "overlap_terms": [ + "QQ16", + "joint-query", + "changing-chart controller", + "selected observation", + "1969", + "2540", + "early record", + "output-bank retention", + "complete native decoder", + "2965", + "producer defect", + "dirty-helper range", + "F17 consumer", + "4166", + "qq16-caller-install" + ], + "existing_checks": [ + { + "scope": "PR #4166: author-checked installed producer/service/return/bridge connection; native-component comparison loses.", + "evidence": "research/qq16-caller-install/README.md", + "remaining": "Complete matched physical protocol bill, or changed source-compatible demand/circuit; no affordable supplier yet.", + "status": "author-checked", + "source_commit": "0b082d22a0e9a442d264ab0633e35ef26c790630", + "selected_record_sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129" + } + ] + }, + "scope_status": "changed", + "actual_scope": "Can the installed QQ16 caller win a complete matched protocol bill, or can a changed demand eliminate actual paid work?", + "scope_change_reason": "Explicit owner task asks for a much higher kappa. This changes supplier contact and helper gauges using a globally coordinated hyperplane cut, rather than repeating a fixed controller invoice search.", + "bottleneck_link": "TODO: explain the causal connection or label this as a side result", + "budget_minutes": 60, + "stop_rule": "TODO", + "outcome": "partial", + "evidence": "TODO", + "author": "Cinna Davis with substantial OpenAI Codex assistance", + "ai_assistance": "TODO: disclose tools used", + "open_questions": [ + { + "question": "TODO", + "why_it_matters": "TODO", + "first_step": "TODO", + "blocked_by": "TODO" + } + ] +} diff --git a/research/hyperplane-retiming/VERIFY.json b/research/hyperplane-retiming/VERIFY.json new file mode 100644 index 0000000000..3d465c9d14 --- /dev/null +++ b/research/hyperplane-retiming/VERIFY.json @@ -0,0 +1,20 @@ +{ + "schema_version": 1, + "status": "draft", + "python": "3.12", + "requirements": [], + "inputs": [ + "docs/research/current-priorities.md" + ], + "commands": [ + { + "argv": [ + "{python}", + "-B", + "{package}/verify.py" + ], + "timeout_seconds": 120, + "checks": "TODO: identity, positive fixture and failure controls" + } + ] +} diff --git a/research/hyperplane-retiming/inputs/pr4610-word.json.gz b/research/hyperplane-retiming/inputs/pr4610-word.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..79dad65b9c9bd05956183492090d5439a269fc08 GIT binary patch literal 207650 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

To@jW@vb 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

Us(H@rTp`-pK_ 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 R|M>1d{vTpU4Xl339RNw6g&_a{ literal 0 HcmV?d00001 diff --git a/research/hyperplane-retiming/intervals.py b/research/hyperplane-retiming/intervals.py new file mode 100644 index 0000000000..4b24a50961 --- /dev/null +++ b/research/hyperplane-retiming/intervals.py @@ -0,0 +1,421 @@ +#!/usr/bin/env python3 +"""Higher-moment strictification and a polynomial-logarithm compiler bound. + +New arithmetic is independent of predecessor interval code. The unchanged +invoice replay and two outer ledgers are credited, byte-pinned oracles. +zxv with substantial OpenAI Codex assistance. Apache-2.0. +""" +import argparse +import ast +from collections import Counter +from contextlib import redirect_stdout +from fractions import Fraction as Q +from functools import lru_cache +from hashlib import sha256, sha1 +import io +import json +from pathlib import Path + +HERE = Path(__file__).resolve().parent +GRID = 2**192 +C = Q('0.00268648') +KAPPA = Q('0.00268647') +T = {5:420, 6:270, 7:840, 8:1395, 9:3195, + 25:448, 41:448, 57:448, 121:224} +P = {1:37305, 2:10695, 3:3360, 4:1530, 5:300, + 8:1464, 16:448, 32:448, 48:448} + + +def need(ok, message): + if not ok: + raise ValueError(message) + + +def down(x): + return Q((x*GRID).__floor__(), GRID) + + +def up(x): + return Q(-((-x*GRID).__floor__()), GRID) + + +def rounded(lo, hi): + return down(lo), up(hi) + + +def mul(a, b): + products = [x*y for x in a for y in b] + return rounded(min(products), max(products)) + + +def scale(a, x): + return mul(a, (x, x)) + + +def divide(a, b): + need(b[0] > 0, 'positive interval denominator') + return mul(a, rounded(1/b[1], 1/b[0])) + + +@lru_cache(None) +def log_bounds(n): + """Exact atanh series, binary reduction; round only the final interval.""" + need(isinstance(n, int) and n >= 1, 'positive integer logarithm') + + def series(x): + u = (x-1)/(x+1) + term, total = u, Q(0) + for j in range(80): + total += 2*term/(2*j+1) + term *= u*u + tail = 2*term/(161*(1-u*u)) + return total, total+tail + + k = n.bit_length()-1 + a, b = series(Q(2)) + c, d = series(Q(n, 2**k)) + return rounded(k*a+c, k*b+d) + + +def exp_point(x): + """Outward fixed-point Taylor enclosure, with binary scaling/squaring.""" + need(abs(x) < 16, 'bounded exponential argument') + if x < 0: + a, b = exp_point(-x) + return rounded(1/b, 1/a) + divisions = 0 + while x > Q(1, 2): + x /= 2 + divisions += 1 + term = total = (Q(1), Q(1)) + for j in range(1, 65): + term = scale(term, x/j) + total = rounded(total[0]+term[0], total[1]+term[1]) + following = scale(term, x/65) + # Every remaining ratio is <= 1/132. Twice the next term is safe. + result = rounded(total[0], total[1]+2*following[1]) + for _ in range(divisions): + result = mul(result, result) + return result + + +def exp_interval(a): + return exp_point(a[0])[0], exp_point(a[1])[1] + + +@lru_cache(None) +def power(n, exponent): + return exp_interval(scale(log_bounds(n), exponent)) + + +def moment(histogram, exponent): + low = high = Q(0) + for n, count in histogram.items(): + a, b = power(n, exponent) + low += count*a + high += count*b + return rounded(low, high) + + +def display(a): + unit = 10**30 + + def fixed(n): + sign = '-' if n < 0 else '' + s = str(abs(n)).rjust(31, '0') + return sign+s[:-30]+'.'+s[-30:] + + return {'lower': fixed((a[0]*unit).__floor__()), + 'upper': fixed(-((-a[1]*unit).__floor__()))} + + +def encoded(x): + if isinstance(x, Q): + return str(x) + if isinstance(x, dict): + return {str(k): encoded(v) for k, v in x.items()} + if isinstance(x, (list, tuple)): + return [encoded(v) for v in x] + return x + + +def source_environment(path): + env = {'__file__': str(path), '__name__': 'pinned_source_oracle'} + exec(compile(path.read_bytes(), str(path), 'exec'), env) + return env + + +def authenticate(): + result = {} + for row in json.loads((HERE/'VENDOR.json').read_text())['files']: + path = HERE/'vendor'/Path(row['path']).relative_to( + 'research/higher-moment-strictification/vendor') + digest = sha256(path.read_bytes()).hexdigest() + need(digest == row['sha256'], 'changed source: '+row['path']) + raw = path.read_bytes() + need(sha1(b'blob '+str(len(raw)).encode()+b'\0'+raw).hexdigest() + == row['git_blob'], 'changed Git source blob') + result[row['path']] = digest + return result + + +def invoice_oracle(): + """Run #4426 unchanged, rebinding only its two file-location globals.""" + path = HERE/'vendor/invoice-review/verify.py' + env = source_environment(path) + env.update(ROOT=path.parent, PHASES='DATA-PHASES.json') + output = io.StringIO() + with redirect_stdout(output): + env['main']() + result = json.loads(output.getvalue()) + need(result['status'] == 'PASS_PR4416_INVOICE_REBUILD', 'source invoice oracle') + need({int(k): v for k, v in result['targets'].items()} == T + and {int(k): v for k, v in result['paid'].items()} == P, + 'exact literal-word invoice') + return result + + +def tail_certificate(v=150, cutoff=10, floor=15, u=Q(3, 10)): + t = 1-C + need(v >= 1 and 1 < cutoff < floor < 121, 'strict finite ranks') + need(t+u >= 1, 'tail moment exponent at least one') + target, paid = moment(T, t), moment(P, t) + alpha = divide(paid, target) + gamma = divide(moment(P, t+u), mul(power(cutoff, u), target)) + delta = divide((Q(sum(T.values())*floor),)*2, + mul(power(cutoff, C), target)) + limits = (1-Q(1, 10**8), Q(181, 200), Q(439, 500)) + for name, bounds, limit in zip(('alpha', 'gamma', 'delta'), + (alpha, gamma, delta), limits): + need(0 < bounds[0] <= bounds[1] < limit < 1, name+' certified limit') + a, g, d = limits + bound = 1/(1+v*(1-a))+2*g**v+2*d**v + need(bound < 1, 'complete charged normalized moment') + old_gamma = divide((Q(sum(k*n for k, n in P.items())),)*2, + mul(power(cutoff, C), target)) + old_lower = alpha[0]**v+2*old_gamma[0]**v + need(old_lower > 1, 'rank-one-tail estimate fails at this tensor power') + return {'tensor_power': v, 'cutoff_base': cutoff, 'floor_base': floor, + 'paid_moment_exponent': t+u, 'tail_offset_u': u, + 'tested_saving': C, 'alpha': display(alpha), 'gamma': display(gamma), + 'delta': display(delta), 'rational_upper_limits': limits, + 'normalized_paid_upper': bound, 'strict_moment_gap': display((1-bound,)*2), + 'old_rank_one_gamma': display(old_gamma), + 'old_rank_one_bound_lower': display((old_lower, old_lower)), + 'ambient': '121^'+str(v), 'minimum_target': str(floor)+'^'+str(v), + 'maximum_paid': str(cutoff)+'^'+str(v), + 'productive_fields_before_uniform_compiler': '7688^'+str(v), + 'rank_one_surplus': '131723^'+str(v)+'-131115^'+str(v), + 'materialized_product_or_uniform_word': False} + + +def uniform_rank(v): + t, p, theta = 1-C, 13, Q(6, 7) + gap = (C-KAPPA)/7 + uniform_saving = C-gap + need(10**7 < 15**6, 'theta upper bound') + need(2*(10**v)**7 <= (121**v)**6, 'shifted logarithm inequality') + eta = scale(exp_interval(scale(log_bounds(121), -v*C)), t) + need(eta[0] > theta**p, 'exit contraction below complement capacity') + base = exp_interval(scale(log_bounds(121), v*C)) + need(base[1] < 2**p, 'entire ordinary base range fits') + # Integer grid: gap*H is integral, avoiding enormous rational powers. + step = gap.denominator + need(gap.numerator == 1, 'chosen rational gap grid') + + def passes(j): + H = step*j + return (H+1)**p < 2**j + + lo, hi = 1, 2 + while not passes(hi): + lo, hi = hi, 2*hi + while hi-lo > 1: + mid = (lo+hi)//2 + if passes(mid): + hi = mid + else: + lo = mid + H = step*hi + need(H > 7*v and passes(hi) and not passes(hi-1), 'final integer comparison') + need(eta[1] < theta**(p-1), 'one smaller logarithmic power fails') + return {'t': t, 'uniform_saving': uniform_saving, 'gap': gap, + 'logarithm_power': p, 'theta_upper': theta, 'eta': display(eta), + 'eta_minus_theta_to_p': display((eta[0]-theta**p, eta[1]-theta**p)), + 'm_to_saving': display(base), 'H': H, 'N': '2^'+str(H), + 'integer_test': {'left_base': H+1, 'left_exponent': p, + 'right_base': 2, 'right_exponent': hi}, + 'grid_step': step, 'previous_grid_point_rejected': True, + 'smaller_logarithmic_power_rejected': True} + + +def power_majorant_comparison(v, uniform_saving): + """Retain #4416's older power proof, changing only the new unit's ranks.""" + t, z, h = 1-C, 1-uniform_saving, Q(1, 7) + z0 = (t+z)/2 + delta = z0-t + B, debt = (4+7*h)*v, 1+7*v*(1-z0) + ratio = (delta*B+debt)/(h*delta) + H0 = -((-ratio.numerator)//ratio.denominator) + ratio = H0*(1-z0)/(z-z0) + H1 = ratio.numerator//ratio.denominator+1 + need(H0 >= 7*v and H0*h*delta >= delta*B+debt, 'power majorant threshold') + need((H0-1)*h*delta < delta*B+debt, 'previous power threshold rejected') + need(H1*(z-z0) > H0*(1-z0) >= (H1-1)*(z-z0), + 'strict power-majorant comparison and previous-rank control') + return {'H0': H0, 'H1': H1, 'N': '2^'+str(H1), 'theta_upper': 1-h, + 'scope': 'Tail transformation alone, retaining the older power majorant.'} + + +def outer_ledger(uniform_saving): + d = (C-KAPPA)/7 + params = {'kappa': KAPPA, 'tested_saving': C, + 'complex_uniform_saving': uniform_saving, 'b': KAPPA+5*d, + 'a': KAPPA+4*d, 'q': KAPPA+3*d, 'bit_saving': Q('0.0027'), + 'epsilon': 1-d, 'beta': 1-3*d, 'r0': d/10, + 'stop': d, 'layout': d, 'd': d} + env = source_environment(HERE/'vendor/outer_endpoint.py') + row = env['ledger'](params) + need(len(row['strict_checks']) == 54 and len(row['functional_checks']) == 3, + 'complete first outer ledger') + need(all(v > 0 for group in ('strict_checks', 'functional_checks') + for v in row[group].values()), 'all outer predicates') + frozen = json.loads((HERE/'vendor/p7-RESULT.json').read_text())['endpoint']['outer'] + need(encoded(row) == frozen, 'unchanged full p7 endpoint ledger') + parsed = ast.parse((HERE/'vendor/check_ledger.py').read_bytes()) + function = next(n for n in parsed.body + if isinstance(n, ast.FunctionDef) and n.name == 'ledger') + constants = [n for n in parsed.body if isinstance(n, ast.Assign) + and any(isinstance(t, ast.Name) and t.id.startswith('KAPPA_') + for t in n.targets)] + eps, beta, q, a = (params[k] for k in ('epsilon', 'beta', 'q', 'a')) + grid = 10**10 + backoff = Q((eps*q*grid).__floor__(), grid)-KAPPA + need(backoff > 0, 'strict derived oracle grid backoff') + oracle = {'Q': Q, 'R0': params['r0'], 'ZETA': Q(1, 10**8), + 'SLACK': d, 'STOP': d, 'FLOOR': grid, 'BACKOFF': backoff, + 'EPS': eps, 'BETA': beta, 'THETA_POWER': Q(2), + 'HALO_POWER': 48, 'CORE_POWER': 128, 'STRASSEN_TAU': Q(45, 16), + 'b': params['b'], 'q': q, 'a': a, 'bit': params['bit_saving'], + 'online': Q('0.001730970419199163702738'), + 'old': Q('0.001730970419199163702738')} + code = ast.fix_missing_locations(ast.Module(body=constants+[function], type_ignores=[])) + exec(compile(code, 'pinned 63-predicate ledger', 'exec'), oracle) + second = oracle['ledger']('higher_moment_smaller_ranks') + need(second['kappa'] == KAPPA and second['margins'] == row['margins'], + 'all nine rows match both ledgers') + need(len(second['strict_checks']) == 63 and + all(v > 0 for v in second['strict_checks'].values()), 'all 63 legacy predicates') + controls = {} + for name, updates in [('closed_epsilon', {'epsilon': Q(1)}), + ('missing_layout', {'layout': Q(0)}), + ('unfunded_kappa', {'kappa': C}), + ('closed_uniform_gap', {'complex_uniform_saving': params['b']}), + ('insufficient_BIT', {'bit_saving': Q('0.0023')})]: + bad = env['ledger'](dict(params, **updates)) + failed = sorted(k for k, v in bad['strict_checks'].items() if v <= 0) + need(failed, 'outer control rejected: '+name) + controls[name] = failed + for name, options in [('old_per_axis_scan', {'old_scan': True}), + ('group_equals_dimension', {'beta_': eps})]: + bad = oracle['ledger']('reject_'+name, **options) + failed = sorted(k for k, v in bad['strict_checks'].items() if v <= 0) + need(failed, 'legacy control rejected: '+name) + controls[name] = failed + return {'ledger': row, 'legacy_63_checks': second['strict_checks'], + 'legacy_grid': grid, 'legacy_backoff': backoff, + 'minimum_margin_minus_kappa': min(row['margins'].values())-KAPPA, + 'rejected_controls': controls} + + +def finite_controls(): + def tensor(histogram): + out = Counter() + for k, n in histogram.items(): + for h, b in histogram.items(): + out[k*h] += n*b + return out + + def split(histogram, cutoff): + out = Counter() + for k, n in histogram.items(): + q, r = divmod(k, cutoff) + out[cutoff] += q*n + if r: + out[r] += n + return +out + + target, paid = tensor({2:1, 5:1}), tensor({1:2, 4:1}) + padded, completion = Counter(), Counter() + for k, n in target.items(): + padded[max(k, 9)] += n + if k < 9: + completion[9-k] += n + final = split(paid+completion, 4) + mass = lambda x: sum(k*n for k, n in x.items()) + need(mass(padded)-mass(final) == 7**2-6**2 == 13, 'exact paid padding mass') + need(min(padded) > max(final), 'exact toy separation') + need(final == Counter({1:5, 4:9}), 'literal toy expanded inventory') + # t=1/2, sigma=3/4, R=100, J=1 refutes a sublinear tail extension. + invalid = power(100, Q(1, 2))[1]+2*power(100, Q(3, 4))[1] + need(invalid < 100, 'sublinear upper-tail moment cannot bound splitting') + return {'toy_targets': padded, 'toy_paid': final, 'rank_one_surplus': 13, + 'sublinear_tail_counterexample': {'R': 100, 'J': 1, 't': '1/2', + 'sigma': '3/4', 'actual_charge': 100, + 'invalid_upper': display((invalid, invalid))}} + + +def verify(): + sources = authenticate() + invoice = invoice_oracle() + tail = tail_certificate() + rank = uniform_rank(tail['tensor_power']) + endpoint = outer_ledger(rank['uniform_saving']) + controls = finite_controls() + rejected = [] + for name, updates, expected in [ + ('too_short_product', {'v': 100}, 'complete charged normalized moment'), + ('sublinear_tail', {'u': C/2}, 'tail moment exponent at least one'), + ('lost_separation', {'floor': 10}, 'strict finite ranks'), + ]: + try: + tail_certificate(**updates) + except ValueError as error: + need(str(error) == expected, 'wrong rejection: '+name) + rejected.append({'mutation': name, 'failed_at': str(error)}) + else: + raise ValueError('accepted mutation: '+name) + old = json.loads((HERE/'vendor/p7-RESULT.json').read_text())['endpoint']['compiler'] + return encoded({'schema': 'higher-moment-native-strictification/1', + 'status': 'PASS_HIGHER_MOMENT_STRICTIFICATION', 'kappa': KAPPA, + 'invoice_oracle': invoice, 'strictification': tail, + 'uniform_rank': rank, 'outer': endpoint, + 'tail_only_power_majorant': power_majorant_comparison( + tail['tensor_power'], rank['uniform_saving']), + 'finite_controls': controls, 'rejected_mutations': rejected, + 'predecessor_H': old['H1'], + 'rank_exponent_reduction_factor': Q(old['H1'], rank['H']), + 'tensor_power_reduction_factor': Q(6240, tail['tensor_power']), + 'source_sha256': sources, + 'verifier_sha256': sha256(Path(__file__).read_bytes()).hexdigest(), + 'scope': 'Conditional charged transformation and finite compiler rank. Native all-column, physical, analytic, precision, storage, fixed-tape and recovery premises remain inherited. No new kappa, selected frontier or practical word.'}) + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--out', type=Path) + args = parser.parse_args() + result = verify() + if args.out: + need(not args.out.exists(), 'new output path required') + args.out.write_text(json.dumps(result, indent=2, sort_keys=True)+'\n') + else: + need(json.loads((HERE/'RESULT.json').read_text()) == result, 'changed saved receipt') + print(json.dumps({'status': result['status'], 'tensor_power': result['strictification']['tensor_power'], + 'uniform_rank': result['uniform_rank']['N'], + 'strict_moment_gap': result['strictification']['strict_moment_gap'], + 'kappa': result['kappa']})) + + +if __name__ == '__main__': + main() diff --git a/research/hyperplane-retiming/vendor/research/fresh-helper-boundary/CHANGES.json b/research/hyperplane-retiming/vendor/research/fresh-helper-boundary/CHANGES.json new file mode 100644 index 0000000000..45744fedd0 --- /dev/null +++ b/research/hyperplane-retiming/vendor/research/fresh-helper-boundary/CHANGES.json @@ -0,0 +1,562 @@ +{ + "entrances": [ + [448, 114, 0], + [449, 114, 0], + [450, 115, 0], + [451, 115, 0], + [452, 115, 0], + [453, 115, 0], + [454, 114, 0], + [455, 114, 0], + [457, 116, 0], + [458, 116, 0], + [460, 117, 0], + [462, 117, 0], + [473, 114, 0], + [474, 118, 0], + [475, 118, 0], + [476, 119, 0], + [477, 119, 0], + [478, 120, 0], + [480, 120, 0], + [482, 114, 0], + [483, 114, 0], + [484, 121, 0], + [485, 121, 0], + [486, 122, 0], + [487, 122, 0], + [492, 115, 0], + [493, 115, 0], + [502, 115, 0], + [503, 115, 0], + [504, 115, 0], + [513, 115, 0], + [514, 115, 0], + [515, 115, 0], + [516, 123, 0], + [517, 123, 0], + [518, 124, 0], + [519, 124, 0], + [520, 125, 0], + [521, 125, 0], + [522, 126, 0], + [523, 126, 0], + [524, 115, 0], + [525, 115, 0], + [526, 115, 0], + [527, 115, 0], + [528, 127, 0], + [529, 127, 0], + [530, 128, 0], + [531, 128, 0], + [532, 129, 0], + [533, 129, 0], + [534, 130, 0], + [535, 130, 0], + [536, 115, 0], + [537, 115, 0], + [538, 131, 114], + [539, 114, 0], + [544, 132, 0], + [545, 132, 0], + [546, 133, 0], + [547, 133, 0], + [548, 114, 0], + [549, 114, 0], + [550, 114, 0], + [551, 114, 0], + [553, 134, 0], + [555, 134, 0], + [556, 135, 0], + [557, 135, 0], + [558, 136, 0], + [559, 136, 0], + [563, 134, 0], + [565, 134, 0], + [570, 134, 0], + [571, 134, 0], + [572, 134, 0], + [573, 134, 0], + [578, 114, 0], + [579, 114, 0], + [580, 115, 0], + [581, 115, 0], + [582, 115, 0], + [583, 115, 0], + [585, 114, 0], + [586, 137, 0], + [587, 137, 0], + [588, 137, 0], + [589, 137, 0], + [590, 138, 0], + [591, 137, 0], + [592, 137, 0], + [593, 137, 0], + [596, 137, 0], + [597, 137, 0], + [598, 114, 0], + [599, 114, 0], + [600, 114, 0], + [601, 114, 0], + [606, 115, 0], + [607, 115, 0], + [608, 115, 0], + [609, 115, 0], + [610, 115, 0], + [611, 115, 0], + [612, 115, 0], + [614, 115, 0], + [615, 115, 0], + [616, 115, 0], + [617, 115, 0], + [618, 115, 0], + [619, 115, 0], + [620, 115, 0], + [621, 140, 0], + [622, 114, 0], + [623, 114, 0], + [624, 114, 0], + [625, 114, 0] + ], + "exits": [ + [277, 256, 299], + [282, 257, 299], + [293, 258, 301], + [298, 258, 301], + [307, 261, 303], + [309, 261, 303], + [311, 262, 1], + [314, 263, 303], + [323, 265, 304], + [325, 266, 304], + [327, 267, 1], + [330, 268, 304], + [337, 270, 305], + [339, 270, 305], + [341, 271, 305], + [346, 271, 305], + [353, 272, 307], + [355, 272, 307], + [357, 273, 307], + [362, 273, 307], + [369, 275, 308], + [371, 275, 308], + [373, 275, 308], + [378, 276, 308], + [385, 277, 309], + [387, 277, 309], + [389, 278, 309], + [394, 278, 309], + [494, 262, 1], + [495, 262, 1], + [505, 267, 1], + [506, 267, 1], + [548, 285, 1], + [560, 285, 1], + [566, 286, 279], + [567, 286, 279], + [568, 287, 280], + [569, 287, 280], + [574, 288, 279], + [575, 288, 279], + [576, 289, 281], + [577, 289, 281] + ], + "gates": [ + ["A", 626, 115, 0], + ["A", 627, 115, 0], + ["A", 628, 115, 0], + ["A", 629, 114, 0], + ["A", 630, 114, 0], + ["A", 631, 114, 0], + ["A", 632, 114, 0], + ["A", 633, 114, 0], + ["A", 1762, 134, 0], + ["A", 1763, 134, 0], + ["A", 1764, 134, 0], + ["A", 1765, 134, 0], + ["A", 1766, 134, 0], + ["A", 1767, 134, 0], + ["A", 1768, 134, 0], + ["A", 1769, 134, 0], + ["A", 1770, 134, 0], + ["A", 1771, 134, 0], + ["A", 1772, 134, 0], + ["A", 1773, 134, 0], + ["A", 1774, 134, 0], + ["A", 1775, 134, 0], + ["A", 1776, 134, 0], + ["A", 1777, 134, 0], + ["A", 1778, 134, 0], + ["A", 1779, 134, 0], + ["A", 1780, 134, 0], + ["A", 1781, 134, 0], + ["A", 1782, 134, 0], + ["A", 1783, 134, 0], + ["A", 1784, 134, 0], + ["A", 1785, 134, 0], + ["A", 1786, 134, 0], + ["A", 1787, 116, 0], + ["A", 1788, 119, 0], + ["A", 1789, 119, 0], + ["A", 1790, 119, 0], + ["A", 1791, 119, 0], + ["A", 1792, 117, 0], + ["A", 1793, 124, 0], + ["A", 1794, 124, 0], + ["A", 1795, 120, 0], + ["A", 1796, 124, 0], + ["A", 1797, 124, 0], + ["A", 1798, 125, 0], + ["A", 1799, 125, 0], + ["A", 1800, 125, 0], + ["A", 1801, 125, 0], + ["A", 1802, 135, 0], + ["A", 1803, 135, 0], + ["A", 1804, 117, 0], + ["A", 1805, 128, 0], + ["A", 1806, 128, 0], + ["A", 1807, 128, 0], + ["A", 1808, 128, 0], + ["A", 1809, 120, 0], + ["A", 1810, 130, 0], + ["A", 1811, 130, 0], + ["A", 1812, 130, 0], + ["A", 1813, 130, 0], + ["A", 1814, 133, 0], + ["A", 1815, 133, 0], + ["A", 1816, 116, 0], + ["A", 1817, 122, 0], + ["A", 1818, 122, 0], + ["A", 1819, 122, 0], + ["A", 1820, 122, 0], + ["A", 1821, 129, 0], + ["A", 1822, 129, 0], + ["A", 1823, 129, 0], + ["A", 1824, 129, 0], + ["A", 1825, 132, 0], + ["A", 1826, 132, 0], + ["A", 1827, 126, 0], + ["A", 1828, 126, 0], + ["A", 1829, 126, 0], + ["A", 1830, 126, 0], + ["A", 1831, 136, 0], + ["A", 1832, 136, 0], + ["A", 1833, 118, 0], + ["A", 1834, 118, 0], + ["A", 1835, 118, 0], + ["A", 1836, 118, 0], + ["A", 1837, 127, 0], + ["A", 1838, 127, 0], + ["A", 1839, 127, 0], + ["A", 1840, 127, 0], + ["A", 1841, 123, 0], + ["A", 1842, 123, 0], + ["A", 1843, 123, 0], + ["A", 1844, 123, 0], + ["A", 1845, 121, 0], + ["A", 1846, 121, 0], + ["A", 1847, 121, 0], + ["A", 1848, 121, 0], + ["A", 4031, 620, 621], + ["A", 4037, 622, 280], + ["B", 0, 115, 0], + ["B", 1, 115, 0], + ["B", 2, 115, 0], + ["B", 3, 115, 0], + ["B", 4, 115, 0], + ["B", 5, 115, 0], + ["B", 6, 115, 0], + ["B", 7, 115, 0], + ["B", 8, 114, 0], + ["B", 9, 114, 0], + ["B", 10, 114, 0], + ["B", 15, 114, 0], + ["B", 16, 114, 0], + ["B", 17, 114, 0], + ["B", 18, 114, 0], + ["B", 19, 115, 0], + ["B", 20, 115, 0], + ["B", 21, 115, 0], + ["B", 22, 115, 0], + ["B", 23, 115, 0], + ["B", 24, 115, 0], + ["B", 25, 115, 0], + ["B", 26, 115, 0], + ["B", 27, 114, 0], + ["B", 28, 114, 0], + ["B", 29, 114, 0], + ["B", 30, 114, 0], + ["B", 32, 114, 0], + ["B", 33, 114, 0], + ["B", 34, 114, 0], + ["B", 35, 115, 0], + ["B", 36, 115, 0], + ["B", 37, 115, 0], + ["B", 38, 115, 0], + ["B", 39, 115, 0], + ["B", 40, 115, 0], + ["B", 41, 115, 0], + ["B", 42, 115, 0], + ["B", 43, 114, 0], + ["B", 44, 114, 0], + ["B", 45, 114, 0], + ["B", 46, 114, 0], + ["B", 47, 114, 0], + ["B", 48, 114, 0], + ["B", 49, 115, 0], + ["B", 50, 115, 0], + ["B", 51, 115, 0], + ["B", 52, 115, 0], + ["B", 53, 115, 0], + ["B", 54, 115, 0], + ["B", 55, 115, 0], + ["B", 56, 115, 0], + ["B", 57, 114, 0], + ["B", 60, 114, 0], + ["B", 61, 137, 0], + ["B", 62, 137, 0], + ["B", 63, 137, 0], + ["B", 64, 137, 0], + ["B", 65, 137, 0], + ["B", 66, 137, 0], + ["B", 67, 137, 0], + ["B", 68, 137, 0], + ["B", 69, 137, 0], + ["B", 70, 137, 0], + ["B", 71, 137, 0], + ["B", 72, 137, 0], + ["B", 73, 137, 0], + ["B", 74, 137, 0], + ["B", 75, 137, 0], + ["B", 76, 137, 0], + ["B", 77, 137, 0], + ["B", 78, 137, 0], + ["B", 79, 137, 0], + ["B", 80, 137, 0], + ["B", 81, 137, 0], + ["B", 82, 137, 0], + ["B", 83, 137, 0], + ["B", 84, 137, 0], + ["B", 85, 137, 0], + ["B", 86, 137, 0], + ["B", 87, 137, 0], + ["B", 88, 137, 0], + ["B", 89, 137, 0], + ["B", 90, 137, 0], + ["B", 91, 137, 0], + ["B", 92, 137, 0], + ["B", 93, 137, 0], + ["B", 94, 137, 0], + ["B", 95, 137, 0], + ["B", 96, 137, 0], + ["B", 97, 114, 0], + ["B", 98, 114, 0], + ["B", 99, 114, 0], + ["B", 100, 114, 0], + ["B", 101, 114, 0], + ["B", 102, 114, 0], + ["B", 103, 114, 0], + ["B", 104, 114, 0], + ["B", 105, 114, 0], + ["B", 106, 114, 0], + ["B", 107, 114, 0], + ["B", 108, 114, 0], + ["B", 109, 114, 0], + ["B", 110, 114, 0], + ["B", 111, 114, 0], + ["B", 112, 114, 0], + ["B", 113, 114, 0], + ["B", 114, 114, 0], + ["B", 135, 115, 0], + ["B", 136, 115, 0], + ["B", 137, 115, 0], + ["B", 138, 115, 0], + ["B", 139, 115, 0], + ["B", 140, 115, 0], + ["B", 141, 115, 0], + ["B", 142, 115, 0], + ["B", 143, 115, 0], + ["B", 144, 115, 0], + ["B", 145, 115, 0], + ["B", 146, 115, 0], + ["B", 147, 115, 0], + ["B", 148, 115, 0], + ["B", 149, 115, 0], + ["B", 150, 115, 0], + ["B", 151, 115, 0], + ["B", 152, 115, 0], + ["B", 153, 115, 0], + ["B", 154, 115, 0], + ["B", 155, 115, 0], + ["B", 156, 115, 0], + ["B", 157, 115, 0], + ["B", 158, 115, 0], + ["B", 159, 115, 0], + ["B", 160, 115, 0], + ["B", 161, 115, 0], + ["B", 162, 115, 0], + ["B", 163, 115, 0], + ["B", 164, 115, 0], + ["B", 165, 115, 0], + ["B", 166, 115, 0], + ["B", 167, 115, 0], + ["B", 168, 115, 0], + ["B", 169, 115, 0], + ["B", 170, 115, 0], + ["B", 171, 115, 0], + ["B", 172, 115, 0], + ["B", 173, 115, 0], + ["B", 174, 115, 0], + ["B", 175, 115, 0], + ["B", 176, 115, 0], + ["B", 177, 115, 0], + ["B", 178, 115, 0], + ["B", 179, 115, 0], + ["B", 180, 115, 0], + ["B", 181, 115, 0], + ["B", 182, 115, 0], + ["B", 183, 115, 0], + ["B", 184, 115, 0], + ["B", 185, 115, 0], + ["B", 186, 115, 0], + ["B", 187, 115, 0], + ["B", 188, 115, 0], + ["B", 189, 115, 0], + ["B", 190, 115, 0], + ["B", 191, 115, 0], + ["B", 192, 115, 0], + ["B", 193, 115, 0], + ["B", 194, 115, 0], + ["B", 195, 115, 0], + ["B", 196, 115, 0], + ["B", 197, 115, 0], + ["B", 198, 115, 0], + ["B", 199, 114, 0], + ["B", 200, 114, 0], + ["B", 201, 114, 0], + ["B", 202, 114, 0], + ["B", 203, 114, 0], + ["B", 204, 114, 0], + ["B", 205, 114, 0], + ["B", 206, 114, 0], + ["B", 207, 114, 0], + ["B", 208, 114, 0], + ["B", 209, 114, 0], + ["B", 210, 114, 0], + ["B", 211, 114, 0], + ["B", 212, 114, 0], + ["B", 213, 114, 0], + ["B", 214, 114, 0], + ["B", 234, 114, 0], + ["B", 235, 114, 0], + ["B", 236, 114, 0], + ["B", 237, 114, 0], + ["B", 474, 138, 0], + ["B", 475, 731, 360], + ["B", 503, 743, 371], + ["B", 504, 744, 372], + ["B", 505, 745, 373], + ["B", 506, 746, 374], + ["B", 507, 747, 375], + ["B", 508, 748, 376], + ["B", 509, 749, 377], + ["B", 510, 750, 378], + ["B", 511, 751, 391], + ["B", 512, 752, 392], + ["B", 513, 753, 393], + ["B", 514, 754, 394], + ["B", 515, 755, 395], + ["B", 516, 756, 396], + ["B", 517, 757, 397], + ["B", 518, 758, 398], + ["B", 521, 256, 299], + ["B", 526, 257, 299], + ["B", 533, 765, 411], + ["B", 534, 766, 412], + ["B", 535, 767, 413], + ["B", 536, 768, 414], + ["B", 537, 769, 415], + ["B", 538, 770, 416], + ["B", 539, 771, 417], + ["B", 540, 772, 418], + ["B", 559, 779, 431], + ["B", 560, 780, 432], + ["B", 561, 781, 433], + ["B", 562, 782, 434], + ["B", 563, 783, 435], + ["B", 564, 784, 436], + ["B", 565, 785, 437], + ["B", 566, 786, 438], + ["B", 571, 261, 303], + ["B", 575, 263, 303], + ["B", 576, 263, 303], + ["B", 601, 268, 304], + ["B", 602, 268, 304], + ["B", 622, 271, 305], + ["B", 624, 270, 305], + ["B", 627, 271, 305], + ["B", 629, 270, 305], + ["B", 630, 140, 0], + ["B", 635, 801, 491], + ["B", 636, 802, 492], + ["B", 637, 803, 493], + ["B", 638, 804, 494], + ["B", 639, 805, 495], + ["B", 640, 806, 496], + ["B", 641, 807, 497], + ["B", 642, 808, 498], + ["B", 661, 813, 511], + ["B", 662, 814, 512], + ["B", 663, 815, 513], + ["B", 664, 816, 514], + ["B", 665, 817, 515], + ["B", 666, 818, 516], + ["B", 667, 819, 517], + ["B", 668, 820, 518], + ["B", 673, 275, 308], + ["B", 678, 276, 308], + ["B", 684, 131, 114], + ["cleanup_tail", 0, 286, 279], + ["cleanup_tail", 1, 286, 279], + ["cleanup_tail", 2, 286, 279], + ["cleanup_tail", 3, 287, 280], + ["cleanup_tail", 4, 287, 280], + ["cleanup_tail", 5, 287, 280], + ["cleanup_tail", 6, 288, 279], + ["cleanup_tail", 7, 288, 279], + ["cleanup_tail", 8, 288, 279], + ["cleanup_tail", 9, 289, 281], + ["cleanup_tail", 10, 289, 281], + ["cleanup_tail", 11, 289, 281], + ["cleanup_tail", 12, 262, 1], + ["cleanup_tail", 13, 262, 1], + ["cleanup_tail", 14, 262, 1], + ["cleanup_tail", 15, 267, 1], + ["cleanup_tail", 16, 267, 1], + ["cleanup_tail", 17, 267, 1], + ["cleanup_tail", 18, 267, 1], + ["cleanup_tail", 19, 267, 1], + ["cleanup_tail", 40, 262, 1], + ["cleanup_tail", 41, 262, 1], + ["cleanup_tail", 42, 262, 1], + ["cleanup_tail", 43, 262, 1], + ["cleanup_tail", 44, 262, 1], + ["cleanup_tail", 45, 262, 1], + ["cleanup_tail", 46, 262, 1], + ["cleanup_tail", 53, 267, 1], + ["cleanup_tail", 54, 267, 1], + ["cleanup_tail", 67, 285, 1], + ["cleanup_tail", 68, 285, 1], + ["cleanup_tail", 69, 285, 1], + ["cleanup_tail", 77, 285, 1], + ["cleanup_tail", 78, 285, 1], + ["cleanup_tail", 112, 267, 1], + ["cleanup_tail", 113, 267, 1], + ["cleanup_tail", 114, 267, 1], + ["cleanup_tail", 115, 267, 1], + ["cleanup_tail", 118, 262, 1], + ["cleanup_tail", 119, 262, 1], + ["cleanup_tail", 120, 262, 1] + ] +} diff --git a/research/hyperplane-retiming/vendor/research/fresh-helper-boundary/native.py b/research/hyperplane-retiming/vendor/research/fresh-helper-boundary/native.py new file mode 100644 index 0000000000..1b36f6cb5f --- /dev/null +++ b/research/hyperplane-retiming/vendor/research/fresh-helper-boundary/native.py @@ -0,0 +1,183 @@ +"""Retiming of the pinned full-identity word; Apache-2.0, OpenAI Codex assistance. + +The scalar order and free-operator words stay fixed. Every changed transport +is independently lowered as an exact Clifford, including its absolute phase. +""" +from collections import Counter +from copy import deepcopy +from fractions import Fraction as Q +import gzip +import importlib.util +import json +from pathlib import Path +import sys + +HERE = Path(__file__).resolve().parent +ROOT = HERE.parents[1] +BASE = ROOT/'research/kappa-rebuild/complex/full-identity-certificates' + +def need(ok, why): + if not ok: + raise ValueError(why) + +def load(path, name): + spec = importlib.util.spec_from_file_location(name, path) + m = importlib.util.module_from_spec(spec) + sys.modules[name] = m + spec.loader.exec_module(m) + return m + +def read(path): + data = Path(path).read_bytes() + return json.loads(gzip.decompress(data) if str(path).endswith('.gz') else data) + +def span(basis): + out = {0} + for x in basis: + out |= {v ^ x for v in tuple(out)} + return frozenset(out) + +def gates(program): + phase = None + counters = Counter() + result = {} + for i, e in enumerate(program): + if e[0] == 'phase': + phase = e[1] + if e[0] == 'scalar': + g = e[1] + roles = g[1:3] if g[0] in ('add', 'copy') else g[1:2] + if all(r[0] == 'L' for r in roles): + key = (phase, counters[phase]) + result[key] = i + counters[phase] += 1 + return result + +def dual(g): + g = deepcopy(g) + if g[0] == 'add': + g[1], g[2] = g[2], g[1] + g[3] *= -1 + else: + need(g[0] == 'scale', 'Reversible persistent scalar') + g[2], g[3] = g[3], g[2] + return g + +def synthesize(c, program): + current = c['start'][:] + out = [] + def climb(r, f): + old = current[r] + if old == f: + return + need(span(c['frames'][old]) < span(c['frames'][f]), 'Nested positive retimed transport') + out.append(['climb', 'retimed', r, old, f, len(c['frames'][f])-len(c['frames'][old])]) + current[r] = f + i = 0 + while i < len(program): + e = deepcopy(program[i]); i += 1 + if e[0] == 'climb': + continue + if e[0] == 'center': + second = program[i] + need(second[0] == 'center' and e[1] == second[1] == 0 and e[3] == second[2], 'Original center split') + need(sorted((e[4], second[4])) == [3, 5], 'Original 3+5 center') + e = ['center', 0, e[2], second[3], 8]; i += 1 + if e[0] == 'scalar': + g = e[1] + roles = g[1:3] if g[0] in ('add', 'copy') else g[1:2] + for r in roles: + if r[0] == 'L': + climb(r[1], e[2]) + elif e[0] == 'warp': + need(e[1][0] == 'L', 'Persistent source warp') + climb(e[1][1], e[3]); current[e[1][1]] = e[4] + elif e[0] in ('adapter', 'residual_adapter'): + # Helper wrappers are recomputed on the new whole-job boundaries. + role = e[2] if e[0] == 'adapter' else e[2] + if role >= 224: + continue + out.append(e) + for r, f in enumerate(c['final']): + climb(r, f) + return out + +def run(changes=None, phase_check=True): + c = read(BASE/'THREE-base-FULL-IDENTITY-CANONICAL.json.gz') + original = read(BASE/'THREE-base-FULL-IDENTITY-NATIVE.json.gz') + changes = read(HERE/'CHANGES.json') if changes is None else changes + for key, frame_key in (('entrances', 'start'), ('exits', 'final')): + seen = set() + for role, old, new in changes[key]: + need(role not in seen and 224 <= role < 632 and c[frame_key][role] == old, 'Bound unique helper boundary') + seen.add(role); c[frame_key][role] = new + maps = {d: gates(p) for d, p in original.items()} + need(set(maps['forward']) == set(maps['backward']), 'Both scalar orientations have the same contact inventory') + for key in maps['forward']: + f = original['forward'][maps['forward'][key]] + b = original['backward'][maps['backward'][key]] + need(b[1] == dual(f[1]) and b[2] == f[2], 'Actual inverse-transpose scalar correspondence') + changed = deepcopy(original) + seen = set() + for phase, ordinal, old, new in changes['gates']: + key = (phase, ordinal) + need(key not in seen and key in maps['forward'], 'Bound unique retimed scalar contact') + seen.add(key) + for d in changed: + e = changed[d][maps[d][key]] + need(e[2] == old, 'Original scalar frame pin') + e[2] = new + programs = {d: synthesize(c, p) for d, p in changed.items()} + V = load(ROOT/'research/kappa-causal-continuation/buffer-borrowing/verify_buffers.py', 'fresh_boundary_rows') + X = load(ROOT/'research/kappa-rebuild/complex/native_extensions.py', 'fresh_boundary_literal') + checks = {} + profiles = {} + for d, p in programs.items(): + rows, receipt = X.literal_replay(V, c, p, d == 'backward') + for r in range(632): + need(rows['L', r] == V.expected(('L', r), [], d == 'backward', False), 'Every actual arbitrary-input endpoint, role '+str(r)) + profiles[d] = Counter({int(k): v for k, v in receipt['paid_profile'].items()}) + rebound = deepcopy(c) + rebound['local_profile'] = dict(profiles[d]) + receipt['second_literal'] = V.replay(p, rebound, [], d == 'backward', False) + checks[d] = receipt + need(profiles['forward'] == profiles['backward'], 'Same complete native tariff in both orientations') + H = Counter() + for r in range(224, 632): + a, b = c['start'][r], c['final'][r] + need(span(c['frames'][a]) <= span(c['frames'][b]), 'Nested productive helper boundary') + width = len(c['frames'][b])-len(c['frames'][a]) + need(width > 0, 'Every declared helper is independently productive') + H[width] += 1 + physical = [] + if phase_check: + ce = load(ROOT/'research/t74-native-fast/vendor/native/new/code/borrow/vendor/clifford/clifford_exact.py', 'fresh_boundary_clifford') + P = load(ROOT/'research/kappa-function-composition/complex/prune_native.py', 'fresh_boundary_lowering') + N = X.N + old_edges = {(e[3], e[4]) for e in original['forward'] if e[0] == 'climb'} + new_edges = {(e[3], e[4]) for e in programs['forward'] if e[0] == 'climb'} + helper_edges = {(c['start'][r], c['final'][r]) for r in range(224, 632)} + for a, b in sorted((new_edges-old_edges) | helper_edges): + op = ce.canonical_frame(9, c['frames'][a]).adjoint().then(ce.canonical_frame(9, c['frames'][b])) + want = len(c['frames'][b])-len(c['frames'][a]) + directions = {} + for d in ('forward', 'backward'): + actual = P.conjugate(ce, op) if d == 'backward' else op + rec = N.lower_exact(P, ce, actual) + need(rec['rank'] == want, 'New physical Fourier rank including phase') + directions[d] = rec + physical.append({'old': a, 'new': b, 'rank': want, 'recipes': directions}) + return {'status': 'PASS_RETIMED_BOTH_ORIENTATIONS_ALL_632_COLUMNS', + 'helpers': dict(sorted(H.items())), 'paid': dict(sorted(profiles['forward'].items())), + 'changed_entrances': len(changes['entrances']), 'changed_exits': len(changes['exits']), + 'changed_scalar_frames': len(changes['gates']), 'native': checks, + 'new_physical_edges_and_boundaries': physical}, c, programs + +if __name__ == '__main__': + import argparse + p = argparse.ArgumentParser(); p.add_argument('--skip-phase', action='store_true'); p.add_argument('--write-result', action='store_true'); args = p.parse_args() + result, _, _ = run(phase_check=not args.skip_phase) + if args.write_result: + need(not args.skip_phase, 'Do not replace a complete phase receipt with a diagnostic') + (HERE/'NATIVE-RESULT.json.gz').write_bytes(gzip.compress((json.dumps(result, indent=2, sort_keys=True)+'\n').encode(),mtime=0)) + print(json.dumps({k: v for k, v in result.items() if k not in ('native', 'new_physical_edges_and_boundaries')}, sort_keys=True)) diff --git a/research/hyperplane-retiming/vendor/research/joint-helper-lattice/PATCH.json b/research/hyperplane-retiming/vendor/research/joint-helper-lattice/PATCH.json new file mode 100644 index 0000000000..51304a6601 --- /dev/null +++ b/research/hyperplane-retiming/vendor/research/joint-helper-lattice/PATCH.json @@ -0,0 +1,8991 @@ +{ + "changes": [ + { + "new": [ + 51 + ], + "old": [], + "ordinal": 449, + "phase": "entrance" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 451, + "phase": "entrance" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 453, + "phase": "entrance" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 455, + "phase": "entrance" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 482, + "phase": "entrance" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 483, + "phase": "entrance" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 502, + "phase": "entrance" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 503, + "phase": "entrance" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 504, + "phase": "entrance" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 525, + "phase": "entrance" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 526, + "phase": "entrance" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 527, + "phase": "entrance" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 548, + "phase": "entrance" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 549, + "phase": "entrance" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 550, + "phase": "entrance" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 551, + "phase": "entrance" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 578, + "phase": "entrance" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 580, + "phase": "entrance" + }, + { + "new": [], + "old": [ + 45, + 76 + ], + "ordinal": 594, + "phase": "entrance" + }, + { + "new": [], + "old": [ + 45, + 76 + ], + "ordinal": 595, + "phase": "entrance" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 598, + "phase": "entrance" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 599, + "phase": "entrance" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 600, + "phase": "entrance" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 601, + "phase": "entrance" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 606, + "phase": "entrance" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 607, + "phase": "entrance" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 608, + "phase": "entrance" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 609, + "phase": "entrance" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 614, + "phase": "entrance" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 615, + "phase": "entrance" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 616, + "phase": "entrance" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 617, + "phase": "entrance" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 622, + "phase": "entrance" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 623, + "phase": "entrance" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 624, + "phase": "entrance" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 625, + "phase": "entrance" + }, + { + "new": [ + 7, + 51, + 82, + 136, + 264 + ], + "old": [ + 51, + 85, + 136, + 264 + ], + "ordinal": 626, + "phase": "entrance" + }, + { + "new": [ + 7, + 51, + 82, + 136, + 264 + ], + "old": [ + 51, + 85, + 136, + 264 + ], + "ordinal": 627, + "phase": "entrance" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 627, + "phase": "A" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 628, + "phase": "A" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 629, + "phase": "A" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 630, + "phase": "A" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 631, + "phase": "A" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 632, + "phase": "A" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 633, + "phase": "A" + }, + { + "new": [ + 11, + 21, + 38, + 448 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 1997, + "phase": "A" + }, + { + "new": [ + 11, + 21, + 38, + 448 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 2002, + "phase": "A" + }, + { + "new": [ + 45, + 85, + 133, + 261 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 2151, + "phase": "A" + }, + { + "new": [ + 45, + 85, + 133, + 261 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 2156, + "phase": "A" + }, + { + "new": [ + 14, + 35, + 69, + 400 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 2305, + "phase": "A" + }, + { + "new": [ + 14, + 35, + 69, + 400 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 2310, + "phase": "A" + }, + { + "new": [ + 1, + 4, + 10, + 16, + 34, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 4007, + "phase": "A" + }, + { + "new": [ + 1, + 4, + 10, + 16, + 34, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 4008, + "phase": "A" + }, + { + "new": [ + 3, + 5, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 4013, + "phase": "A" + }, + { + "new": [ + 3, + 5, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 4014, + "phase": "A" + }, + { + "new": [ + 2, + 4, + 9, + 17, + 32, + 64, + 128, + 256 + ], + "old": [ + 4, + 11, + 17, + 34, + 64, + 128, + 256 + ], + "ordinal": 4019, + "phase": "A" + }, + { + "new": [ + 1, + 2, + 8, + 20, + 36, + 64, + 128, + 256 + ], + "old": [ + 1, + 10, + 20, + 38, + 64, + 128, + 256 + ], + "ordinal": 4025, + "phase": "A" + }, + { + "new": [ + 2, + 4, + 8, + 16, + 33, + 65, + 128, + 256 + ], + "old": [ + 4, + 10, + 16, + 35, + 65, + 128, + 256 + ], + "ordinal": 4043, + "phase": "A" + }, + { + "new": [ + 1, + 2, + 12, + 16, + 32, + 68, + 128, + 256 + ], + "old": [ + 1, + 14, + 16, + 34, + 68, + 128, + 256 + ], + "ordinal": 4049, + "phase": "A" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 5, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 6, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 7, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 8, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 9, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 10, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 17, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 18, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 21, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 22, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 25, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 26, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 29, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 30, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 33, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 34, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 37, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 38, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 41, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 42, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 44, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 45, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 47, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 49, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 50, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 97, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 98, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 99, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 100, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 101, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 102, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 103, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 104, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 105, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 106, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 107, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 108, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 109, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 110, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 111, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 112, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 113, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 114, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 135, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 136, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 137, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 138, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 139, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 140, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 141, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 142, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 143, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 144, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 145, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 146, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 147, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 148, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 149, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 150, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 151, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 152, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 153, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 154, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 171, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 172, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 173, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 174, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 175, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 176, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 177, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 178, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 179, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 180, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 181, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 182, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 183, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 184, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 185, + "phase": "B" + }, + { + "new": [ + 30 + ], + "old": [], + "ordinal": 186, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 199, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 200, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 201, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 202, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 203, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 204, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 205, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 206, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 207, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 208, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 209, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 210, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 211, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 212, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 213, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 214, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 234, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 235, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 236, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [], + "ordinal": 237, + "phase": "B" + }, + { + "new": [ + 7, + 51, + 82, + 136, + 264 + ], + "old": [ + 51, + 85, + 136, + 264 + ], + "ordinal": 238, + "phase": "B" + }, + { + "new": [ + 7, + 51, + 82, + 136, + 264 + ], + "old": [ + 51, + 85, + 136, + 264 + ], + "ordinal": 239, + "phase": "B" + }, + { + "new": [ + 7, + 51, + 82, + 136, + 264 + ], + "old": [ + 51, + 85, + 136, + 264 + ], + "ordinal": 240, + "phase": "B" + }, + { + "new": [ + 7, + 51, + 82, + 136, + 264 + ], + "old": [ + 51, + 85, + 136, + 264 + ], + "ordinal": 241, + "phase": "B" + }, + { + "new": [ + 7, + 51, + 82, + 136, + 264 + ], + "old": [ + 51, + 85, + 136, + 264 + ], + "ordinal": 242, + "phase": "B" + }, + { + "new": [ + 7, + 51, + 82, + 136, + 264 + ], + "old": [ + 51, + 85, + 136, + 264 + ], + "ordinal": 243, + "phase": "B" + }, + { + "new": [ + 7, + 51, + 82, + 136, + 264 + ], + "old": [ + 51, + 85, + 136, + 264 + ], + "ordinal": 244, + "phase": "B" + }, + { + "new": [ + 7, + 51, + 82, + 136, + 264 + ], + "old": [ + 51, + 85, + 136, + 264 + ], + "ordinal": 245, + "phase": "B" + }, + { + "new": [ + 7, + 51, + 82, + 136, + 264 + ], + "old": [ + 51, + 85, + 136, + 264 + ], + "ordinal": 246, + "phase": "B" + }, + { + "new": [ + 7, + 51, + 82, + 136, + 264 + ], + "old": [ + 51, + 85, + 136, + 264 + ], + "ordinal": 247, + "phase": "B" + }, + { + "new": [ + 7, + 51, + 82, + 136, + 264 + ], + "old": [ + 51, + 85, + 136, + 264 + ], + "ordinal": 248, + "phase": "B" + }, + { + "new": [ + 7, + 51, + 82, + 136, + 264 + ], + "old": [ + 51, + 85, + 136, + 264 + ], + "ordinal": 249, + "phase": "B" + }, + { + "new": [ + 7, + 42, + 80, + 144, + 256 + ], + "old": [ + 45, + 80, + 144, + 256 + ], + "ordinal": 332, + "phase": "B" + }, + { + "new": [ + 2, + 5, + 9, + 33, + 208, + 336 + ], + "old": [ + 5, + 11, + 35, + 208, + 336 + ], + "ordinal": 335, + "phase": "B" + }, + { + "new": [ + 2, + 5, + 9, + 33, + 80, + 400 + ], + "old": [ + 5, + 11, + 35, + 80, + 400 + ], + "ordinal": 336, + "phase": "B" + }, + { + "new": [ + 7, + 16, + 42, + 64, + 128, + 256 + ], + "old": [ + 16, + 45, + 64, + 128, + 256 + ], + "ordinal": 337, + "phase": "B" + }, + { + "new": [ + 7, + 9, + 16, + 35, + 64, + 128, + 256 + ], + "old": [ + 14, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 338, + "phase": "B" + }, + { + "new": [ + 2, + 5, + 9, + 16, + 33, + 192, + 320 + ], + "old": [ + 5, + 11, + 16, + 35, + 192, + 320 + ], + "ordinal": 339, + "phase": "B" + }, + { + "new": [ + 2, + 5, + 9, + 33, + 80, + 128, + 272 + ], + "old": [ + 5, + 11, + 35, + 80, + 128, + 272 + ], + "ordinal": 340, + "phase": "B" + }, + { + "new": [ + 2, + 5, + 9, + 33, + 80, + 144, + 256 + ], + "old": [ + 5, + 11, + 35, + 80, + 144, + 256 + ], + "ordinal": 341, + "phase": "B" + }, + { + "new": [ + 45, + 73, + 137, + 286 + ], + "old": [ + 25, + 45, + 73, + 137, + 263 + ], + "ordinal": 353, + "phase": "B" + }, + { + "new": [ + 45, + 87, + 137, + 265 + ], + "old": [ + 25, + 45, + 78, + 137, + 265 + ], + "ordinal": 355, + "phase": "B" + }, + { + "new": [ + 45, + 80, + 146, + 261 + ], + "old": [ + 2, + 45, + 80, + 144, + 261 + ], + "ordinal": 374, + "phase": "B" + }, + { + "new": [ + 5, + 40, + 194, + 265 + ], + "old": [ + 5, + 40, + 82, + 144, + 265 + ], + "ordinal": 376, + "phase": "B" + }, + { + "new": [], + "old": [ + 45, + 76 + ], + "ordinal": 388, + "phase": "B" + }, + { + "new": [ + 45, + 400 + ], + "old": [ + 45, + 76, + 400 + ], + "ordinal": 389, + "phase": "B" + }, + { + "new": [ + 45, + 69, + 400 + ], + "old": [ + 9, + 36, + 69, + 400 + ], + "ordinal": 394, + "phase": "B" + }, + { + "new": [ + 45, + 69, + 146, + 272 + ], + "old": [ + 9, + 36, + 69, + 146, + 272 + ], + "ordinal": 397, + "phase": "B" + }, + { + "new": [ + 45, + 69, + 130, + 274 + ], + "old": [ + 9, + 36, + 69, + 130, + 274 + ], + "ordinal": 398, + "phase": "B" + }, + { + "new": [ + 45, + 73, + 144, + 274 + ], + "old": [ + 5, + 40, + 73, + 144, + 274 + ], + "ordinal": 399, + "phase": "B" + }, + { + "new": [], + "old": [ + 45, + 76 + ], + "ordinal": 410, + "phase": "B" + }, + { + "new": [ + 45, + 475 + ], + "old": [ + 45, + 76, + 407 + ], + "ordinal": 411, + "phase": "B" + }, + { + "new": [ + 14, + 35, + 469 + ], + "old": [ + 14, + 35, + 66, + 407 + ], + "ordinal": 416, + "phase": "B" + }, + { + "new": [ + 14, + 35, + 130, + 341 + ], + "old": [ + 14, + 35, + 66, + 130, + 279 + ], + "ordinal": 419, + "phase": "B" + }, + { + "new": [ + 14, + 35, + 215, + 258 + ], + "old": [ + 14, + 35, + 66, + 149, + 258 + ], + "ordinal": 420, + "phase": "B" + }, + { + "new": [ + 28, + 45, + 199, + 268 + ], + "old": [ + 28, + 45, + 76, + 139, + 268 + ], + "ordinal": 421, + "phase": "B" + }, + { + "new": [ + 2, + 5, + 40, + 217, + 256 + ], + "old": [ + 5, + 40, + 219, + 256 + ], + "ordinal": 440, + "phase": "B" + }, + { + "new": [ + 7, + 18, + 42, + 66, + 393 + ], + "old": [ + 21, + 45, + 69, + 398 + ], + "ordinal": 441, + "phase": "B" + }, + { + "new": [ + 7, + 42, + 66, + 130, + 258 + ], + "old": [ + 45, + 69, + 133, + 261 + ], + "ordinal": 442, + "phase": "B" + }, + { + "new": [ + 7, + 18, + 42, + 66, + 130, + 258 + ], + "old": [ + 21, + 45, + 69, + 133, + 261 + ], + "ordinal": 443, + "phase": "B" + }, + { + "new": [ + 2, + 5, + 16, + 40, + 64, + 393 + ], + "old": [ + 5, + 16, + 40, + 64, + 395 + ], + "ordinal": 444, + "phase": "B" + }, + { + "new": [ + 2, + 5, + 40, + 89, + 128, + 256 + ], + "old": [ + 5, + 40, + 91, + 128, + 256 + ], + "ordinal": 445, + "phase": "B" + }, + { + "new": [ + 2, + 5, + 25, + 40, + 64, + 128, + 256 + ], + "old": [ + 5, + 27, + 40, + 64, + 128, + 256 + ], + "ordinal": 446, + "phase": "B" + }, + { + "new": [ + 7, + 11, + 18, + 33, + 66, + 130, + 258 + ], + "old": [ + 11, + 21, + 38, + 69, + 133, + 261 + ], + "ordinal": 447, + "phase": "B" + }, + { + "new": [ + 2, + 5, + 16, + 40, + 64, + 128, + 265 + ], + "old": [ + 5, + 16, + 40, + 64, + 128, + 267 + ], + "ordinal": 448, + "phase": "B" + }, + { + "new": [ + 2, + 5, + 16, + 40, + 64, + 137, + 256 + ], + "old": [ + 5, + 16, + 40, + 64, + 139, + 256 + ], + "ordinal": 449, + "phase": "B" + }, + { + "new": [ + 28, + 45, + 194, + 258 + ], + "old": [ + 5, + 25, + 40, + 194, + 258 + ], + "ordinal": 461, + "phase": "B" + }, + { + "new": [ + 21, + 45, + 66, + 386 + ], + "old": [ + 12, + 21, + 33, + 66, + 386 + ], + "ordinal": 462, + "phase": "B" + }, + { + "new": [ + 5, + 40, + 137, + 336 + ], + "old": [ + 5, + 40, + 82, + 137, + 258 + ], + "ordinal": 483, + "phase": "B" + }, + { + "new": [ + 45, + 80, + 137, + 274 + ], + "old": [ + 2, + 45, + 80, + 137, + 272 + ], + "ordinal": 485, + "phase": "B" + }, + { + "new": [ + 4, + 8, + 17, + 34, + 64, + 387 + ], + "old": [ + 4, + 17, + 34, + 64, + 395 + ], + "ordinal": 530, + "phase": "B" + }, + { + "new": [ + 3, + 8, + 17, + 33, + 68, + 388 + ], + "old": [ + 11, + 17, + 34, + 68, + 388 + ], + "ordinal": 532, + "phase": "B" + }, + { + "new": [ + 12, + 21, + 38, + 71, + 132, + 260 + ], + "old": [ + 21, + 38, + 75, + 132, + 260 + ], + "ordinal": 556, + "phase": "B" + }, + { + "new": [ + 11, + 18, + 33, + 64, + 132, + 260 + ], + "old": [ + 11, + 51, + 64, + 132, + 260 + ], + "ordinal": 558, + "phase": "B" + }, + { + "new": [ + 6, + 10, + 18, + 32, + 65, + 385 + ], + "old": [ + 10, + 20, + 38, + 65, + 385 + ], + "ordinal": 583, + "phase": "B" + }, + { + "new": [ + 1, + 10, + 20, + 32, + 64, + 390 + ], + "old": [ + 1, + 10, + 20, + 64, + 422 + ], + "ordinal": 585, + "phase": "B" + }, + { + "new": [ + 12, + 18, + 38, + 64, + 129, + 257 + ], + "old": [ + 30, + 38, + 64, + 129, + 257 + ], + "ordinal": 608, + "phase": "B" + }, + { + "new": [ + 11, + 21, + 33, + 71, + 129, + 257 + ], + "old": [ + 11, + 21, + 102, + 129, + 257 + ], + "ordinal": 610, + "phase": "B" + }, + { + "new": [ + 1, + 6, + 24, + 32, + 64, + 394 + ], + "old": [ + 6, + 24, + 32, + 64, + 395 + ], + "ordinal": 632, + "phase": "B" + }, + { + "new": [ + 1, + 6, + 10, + 18, + 96, + 416 + ], + "old": [ + 6, + 11, + 19, + 96, + 416 + ], + "ordinal": 634, + "phase": "B" + }, + { + "new": [ + 7, + 25, + 33, + 75, + 129, + 257 + ], + "old": [ + 30, + 38, + 75, + 134, + 262 + ], + "ordinal": 658, + "phase": "B" + }, + { + "new": [ + 7, + 11, + 18, + 64, + 160, + 288 + ], + "old": [ + 11, + 21, + 64, + 160, + 288 + ], + "ordinal": 660, + "phase": "B" + }, + { + "new": [ + 51 + ], + "old": [ + 3, + 48, + 72, + 413 + ], + "ordinal": 685, + "phase": "B" + }, + { + "new": [ + 3, + 4, + 17, + 33, + 72, + 392 + ], + "old": [ + 3, + 21, + 37, + 72, + 392 + ], + "ordinal": 687, + "phase": "B" + }, + { + "new": [ + 3, + 4, + 8, + 48, + 64, + 401 + ], + "old": [ + 3, + 8, + 48, + 64, + 405 + ], + "ordinal": 689, + "phase": "B" + }, + { + "new": [ + 7, + 18, + 33, + 64, + 136, + 264 + ], + "old": [ + 21, + 38, + 64, + 136, + 264 + ], + "ordinal": 711, + "phase": "B" + }, + { + "new": [ + 7, + 11, + 51, + 82, + 131, + 259 + ], + "old": [ + 11, + 51, + 85, + 131, + 259 + ], + "ordinal": 713, + "phase": "B" + }, + { + "new": [ + 4, + 51, + 82, + 136, + 264 + ], + "old": [ + 4, + 51, + 136, + 264 + ], + "ordinal": 759, + "phase": "B" + }, + { + "new": [ + 30, + 32, + 76, + 129, + 257 + ], + "old": [ + 30, + 32, + 129, + 257 + ], + "ordinal": 769, + "phase": "B" + }, + { + "new": [ + 13, + 19, + 33, + 455 + ], + "old": [ + 13, + 19, + 33, + 65, + 390 + ], + "ordinal": 770, + "phase": "B" + }, + { + "new": [ + 10, + 20, + 32, + 70, + 129, + 257 + ], + "old": [ + 30, + 32, + 70, + 129, + 257 + ], + "ordinal": 779, + "phase": "B" + }, + { + "new": [ + 10, + 20, + 32, + 65, + 129, + 262 + ], + "old": [ + 10, + 20, + 65, + 161, + 262 + ], + "ordinal": 784, + "phase": "B" + }, + { + "new": [ + 15, + 17, + 37, + 67, + 129, + 257 + ], + "old": [ + 30, + 37, + 67, + 129, + 257 + ], + "ordinal": 840, + "phase": "B" + }, + { + "new": [ + 8, + 22, + 34, + 68, + 129, + 257 + ], + "old": [ + 8, + 22, + 102, + 129, + 257 + ], + "ordinal": 841, + "phase": "B" + }, + { + "new": [ + 2, + 28, + 40, + 76, + 129, + 257 + ], + "old": [ + 2, + 28, + 100, + 129, + 257 + ], + "ordinal": 842, + "phase": "B" + }, + { + "new": [ + 5, + 27, + 42, + 73, + 129, + 257 + ], + "old": [ + 30, + 47, + 73, + 129, + 257 + ], + "ordinal": 843, + "phase": "B" + }, + { + "new": [ + 10, + 20, + 32, + 65, + 131, + 260 + ], + "old": [ + 10, + 20, + 65, + 131, + 292 + ], + "ordinal": 848, + "phase": "B" + }, + { + "new": [ + 10, + 20, + 32, + 65, + 132, + 259 + ], + "old": [ + 10, + 20, + 65, + 164, + 259 + ], + "ordinal": 849, + "phase": "B" + }, + { + "new": [ + 5, + 10, + 17, + 32, + 65, + 386 + ], + "old": [ + 10, + 20, + 37, + 65, + 386 + ], + "ordinal": 850, + "phase": "B" + }, + { + "new": [ + 2, + 8, + 20, + 32, + 65, + 389 + ], + "old": [ + 2, + 8, + 20, + 65, + 421 + ], + "ordinal": 851, + "phase": "B" + }, + { + "new": [ + 7, + 24, + 43, + 74, + 136, + 264 + ], + "old": [ + 31, + 44, + 74, + 136, + 264 + ], + "ordinal": 872, + "phase": "B" + }, + { + "new": [ + 1, + 6, + 50, + 82, + 136, + 264 + ], + "old": [ + 1, + 50, + 84, + 136, + 264 + ], + "ordinal": 873, + "phase": "B" + }, + { + "new": [ + 2, + 5, + 49, + 80, + 136, + 264 + ], + "old": [ + 2, + 49, + 85, + 136, + 264 + ], + "ordinal": 874, + "phase": "B" + }, + { + "new": [ + 7, + 27, + 40, + 73, + 136, + 264 + ], + "old": [ + 28, + 47, + 73, + 136, + 264 + ], + "ordinal": 875, + "phase": "B" + }, + { + "new": [ + 3, + 4, + 48, + 72, + 137, + 272 + ], + "old": [ + 3, + 48, + 72, + 137, + 276 + ], + "ordinal": 880, + "phase": "B" + }, + { + "new": [ + 3, + 4, + 48, + 72, + 144, + 265 + ], + "old": [ + 3, + 48, + 72, + 148, + 265 + ], + "ordinal": 881, + "phase": "B" + }, + { + "new": [ + 3, + 4, + 24, + 40, + 72, + 385 + ], + "old": [ + 3, + 28, + 44, + 72, + 385 + ], + "ordinal": 882, + "phase": "B" + }, + { + "new": [ + 1, + 2, + 4, + 48, + 72, + 408 + ], + "old": [ + 1, + 2, + 48, + 72, + 412 + ], + "ordinal": 883, + "phase": "B" + }, + { + "new": [], + "old": [ + 2, + 5, + 40, + 80, + 409 + ], + "ordinal": 928, + "phase": "B" + }, + { + "new": [], + "old": [ + 7, + 42, + 75, + 144 + ], + "ordinal": 949, + "phase": "B" + }, + { + "new": [], + "old": [ + 7, + 42, + 75, + 144 + ], + "ordinal": 951, + "phase": "B" + }, + { + "new": [ + 10, + 20, + 32, + 65, + 131, + 260 + ], + "old": [ + 10, + 20, + 65, + 131, + 292 + ], + "ordinal": 1052, + "phase": "B" + }, + { + "new": [ + 10, + 20, + 32, + 65, + 132, + 259 + ], + "old": [ + 10, + 20, + 65, + 164, + 259 + ], + "ordinal": 1053, + "phase": "B" + }, + { + "new": [ + 5, + 10, + 17, + 32, + 65, + 386 + ], + "old": [ + 10, + 20, + 37, + 65, + 386 + ], + "ordinal": 1054, + "phase": "B" + }, + { + "new": [ + 2, + 8, + 20, + 32, + 65, + 389 + ], + "old": [ + 2, + 8, + 20, + 65, + 421 + ], + "ordinal": 1055, + "phase": "B" + }, + { + "new": [ + 7, + 24, + 43, + 74, + 136, + 264 + ], + "old": [ + 31, + 44, + 74, + 136, + 264 + ], + "ordinal": 1101, + "phase": "B" + }, + { + "new": [ + 1, + 6, + 50, + 82, + 136, + 264 + ], + "old": [ + 1, + 50, + 84, + 136, + 264 + ], + "ordinal": 1102, + "phase": "B" + }, + { + "new": [ + 2, + 5, + 49, + 80, + 136, + 264 + ], + "old": [ + 2, + 49, + 85, + 136, + 264 + ], + "ordinal": 1103, + "phase": "B" + }, + { + "new": [ + 7, + 27, + 40, + 73, + 136, + 264 + ], + "old": [ + 28, + 47, + 73, + 136, + 264 + ], + "ordinal": 1104, + "phase": "B" + }, + { + "new": [ + 3, + 4, + 48, + 72, + 137, + 272 + ], + "old": [ + 3, + 48, + 72, + 137, + 276 + ], + "ordinal": 1121, + "phase": "B" + }, + { + "new": [ + 3, + 4, + 48, + 72, + 144, + 265 + ], + "old": [ + 3, + 48, + 72, + 148, + 265 + ], + "ordinal": 1122, + "phase": "B" + }, + { + "new": [ + 3, + 4, + 24, + 40, + 72, + 385 + ], + "old": [ + 3, + 28, + 44, + 72, + 385 + ], + "ordinal": 1123, + "phase": "B" + }, + { + "new": [ + 1, + 2, + 4, + 48, + 72, + 408 + ], + "old": [ + 1, + 2, + 48, + 72, + 412 + ], + "ordinal": 1124, + "phase": "B" + }, + { + "new": [ + 3, + 12, + 21, + 37, + 68, + 132, + 260 + ], + "old": [ + 15, + 21, + 38, + 68, + 132, + 260 + ], + "ordinal": 1185, + "phase": "B" + }, + { + "new": [ + 4, + 8, + 17, + 34, + 67, + 128, + 256 + ], + "old": [ + 4, + 17, + 34, + 75, + 128, + 256 + ], + "ordinal": 1186, + "phase": "B" + }, + { + "new": [ + 4, + 11, + 18, + 33, + 64, + 128, + 256 + ], + "old": [ + 4, + 11, + 51, + 64, + 128, + 256 + ], + "ordinal": 1187, + "phase": "B" + }, + { + "new": [ + 3, + 8, + 17, + 33, + 64, + 132, + 260 + ], + "old": [ + 11, + 17, + 34, + 64, + 132, + 260 + ], + "ordinal": 1188, + "phase": "B" + }, + { + "new": [ + 4, + 8, + 17, + 34, + 64, + 128, + 259 + ], + "old": [ + 4, + 17, + 34, + 64, + 128, + 267 + ], + "ordinal": 1194, + "phase": "B" + }, + { + "new": [ + 3, + 8, + 17, + 33, + 68, + 132, + 256 + ], + "old": [ + 11, + 17, + 34, + 68, + 132, + 256 + ], + "ordinal": 1196, + "phase": "B" + }, + { + "new": [ + 1, + 12, + 18, + 38, + 64, + 128, + 256 + ], + "old": [ + 1, + 30, + 38, + 64, + 128, + 256 + ], + "ordinal": 1201, + "phase": "B" + }, + { + "new": [ + 6, + 10, + 18, + 32, + 64, + 129, + 257 + ], + "old": [ + 10, + 20, + 38, + 64, + 129, + 257 + ], + "ordinal": 1202, + "phase": "B" + }, + { + "new": [ + 6, + 11, + 19, + 33, + 65, + 129, + 257 + ], + "old": [ + 11, + 21, + 39, + 65, + 129, + 257 + ], + "ordinal": 1203, + "phase": "B" + }, + { + "new": [ + 1, + 10, + 20, + 32, + 70, + 128, + 256 + ], + "old": [ + 1, + 10, + 20, + 102, + 128, + 256 + ], + "ordinal": 1204, + "phase": "B" + }, + { + "new": [ + 1, + 10, + 20, + 32, + 70, + 128, + 256 + ], + "old": [ + 1, + 30, + 32, + 70, + 128, + 256 + ], + "ordinal": 1205, + "phase": "B" + }, + { + "new": [ + 6, + 10, + 18, + 32, + 65, + 129, + 256 + ], + "old": [ + 10, + 20, + 38, + 65, + 129, + 256 + ], + "ordinal": 1210, + "phase": "B" + }, + { + "new": [ + 1, + 10, + 20, + 32, + 64, + 128, + 262 + ], + "old": [ + 1, + 10, + 20, + 64, + 128, + 294 + ], + "ordinal": 1212, + "phase": "B" + }, + { + "new": [ + 1, + 10, + 20, + 32, + 64, + 128, + 262 + ], + "old": [ + 10, + 20, + 33, + 65, + 128, + 262 + ], + "ordinal": 1213, + "phase": "B" + }, + { + "new": [ + 7, + 10, + 19, + 33, + 65, + 129, + 257 + ], + "old": [ + 13, + 19, + 38, + 70, + 134, + 262 + ], + "ordinal": 1217, + "phase": "B" + }, + { + "new": [ + 1, + 6, + 24, + 32, + 74, + 128, + 256 + ], + "old": [ + 6, + 24, + 32, + 75, + 128, + 256 + ], + "ordinal": 1218, + "phase": "B" + }, + { + "new": [ + 7, + 11, + 18, + 32, + 64, + 128, + 256 + ], + "old": [ + 11, + 21, + 32, + 64, + 128, + 256 + ], + "ordinal": 1219, + "phase": "B" + }, + { + "new": [ + 1, + 6, + 10, + 18, + 64, + 160, + 288 + ], + "old": [ + 6, + 11, + 19, + 64, + 160, + 288 + ], + "ordinal": 1220, + "phase": "B" + }, + { + "new": [ + 1, + 6, + 10, + 18, + 64, + 160, + 288 + ], + "old": [ + 1, + 12, + 18, + 70, + 160, + 288 + ], + "ordinal": 1221, + "phase": "B" + }, + { + "new": [ + 1, + 6, + 24, + 32, + 64, + 128, + 266 + ], + "old": [ + 6, + 24, + 32, + 64, + 128, + 267 + ], + "ordinal": 1226, + "phase": "B" + }, + { + "new": [ + 1, + 6, + 10, + 18, + 96, + 160, + 256 + ], + "old": [ + 6, + 11, + 19, + 96, + 160, + 256 + ], + "ordinal": 1228, + "phase": "B" + }, + { + "new": [ + 1, + 6, + 10, + 18, + 96, + 160, + 256 + ], + "old": [ + 6, + 10, + 18, + 96, + 161, + 256 + ], + "ordinal": 1229, + "phase": "B" + }, + { + "new": [ + 7, + 8, + 18, + 33, + 64, + 128, + 256 + ], + "old": [ + 8, + 21, + 38, + 64, + 128, + 256 + ], + "ordinal": 1233, + "phase": "B" + }, + { + "new": [ + 3, + 4, + 17, + 33, + 64, + 136, + 264 + ], + "old": [ + 3, + 21, + 37, + 64, + 136, + 264 + ], + "ordinal": 1234, + "phase": "B" + }, + { + "new": [ + 7, + 11, + 17, + 34, + 67, + 131, + 259 + ], + "old": [ + 11, + 22, + 37, + 67, + 131, + 259 + ], + "ordinal": 1235, + "phase": "B" + }, + { + "new": [ + 3, + 4, + 8, + 48, + 81, + 128, + 256 + ], + "old": [ + 3, + 8, + 48, + 85, + 128, + 256 + ], + "ordinal": 1236, + "phase": "B" + }, + { + "new": [ + 3, + 4, + 17, + 33, + 72, + 136, + 256 + ], + "old": [ + 3, + 21, + 37, + 72, + 136, + 256 + ], + "ordinal": 1242, + "phase": "B" + }, + { + "new": [ + 3, + 4, + 8, + 48, + 64, + 128, + 273 + ], + "old": [ + 3, + 8, + 48, + 64, + 128, + 277 + ], + "ordinal": 1244, + "phase": "B" + }, + { + "new": [ + 8, + 22, + 37, + 71, + 135, + 263 + ], + "old": [ + 7, + 8, + 17, + 34, + 64, + 128, + 256 + ], + "ordinal": 1417, + "phase": "B" + }, + { + "new": [ + 8, + 22, + 37, + 71, + 135, + 263 + ], + "old": [ + 7, + 8, + 17, + 34, + 64, + 128, + 256 + ], + "ordinal": 1418, + "phase": "B" + }, + { + "new": [ + 12, + 18, + 33, + 67, + 131, + 259 + ], + "old": [ + 7, + 11, + 18, + 33, + 67, + 131, + 259 + ], + "ordinal": 1433, + "phase": "B" + }, + { + "new": [ + 12, + 18, + 33, + 67, + 131, + 259 + ], + "old": [ + 7, + 11, + 18, + 33, + 67, + 131, + 259 + ], + "ordinal": 1434, + "phase": "B" + }, + { + "new": [ + 4, + 8, + 18, + 33, + 192, + 320 + ], + "old": [ + 3, + 4, + 8, + 17, + 33, + 192, + 320 + ], + "ordinal": 1437, + "phase": "B" + }, + { + "new": [ + 4, + 8, + 18, + 33, + 192, + 320 + ], + "old": [ + 3, + 4, + 8, + 17, + 33, + 192, + 320 + ], + "ordinal": 1438, + "phase": "B" + }, + { + "new": [ + 12, + 18, + 33, + 70, + 134, + 262 + ], + "old": [ + 7, + 11, + 18, + 33, + 65, + 129, + 257 + ], + "ordinal": 1445, + "phase": "B" + }, + { + "new": [ + 12, + 18, + 33, + 70, + 134, + 262 + ], + "old": [ + 7, + 11, + 18, + 33, + 65, + 129, + 257 + ], + "ordinal": 1446, + "phase": "B" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 2, + 8, + 20, + 36, + 64, + 128, + 256 + ], + "ordinal": 0, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 2, + 8, + 20, + 36, + 64, + 128, + 256 + ], + "ordinal": 1, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 2, + 8, + 20, + 36, + 64, + 128, + 256 + ], + "ordinal": 2, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 5, + 9, + 17, + 33, + 65, + 128, + 256 + ], + "ordinal": 3, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 5, + 9, + 17, + 33, + 65, + 128, + 256 + ], + "ordinal": 4, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 5, + 9, + 17, + 33, + 65, + 128, + 256 + ], + "ordinal": 5, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 2, + 8, + 20, + 36, + 64, + 128, + 256 + ], + "ordinal": 6, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 2, + 8, + 20, + 36, + 64, + 128, + 256 + ], + "ordinal": 7, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 2, + 8, + 20, + 36, + 64, + 128, + 256 + ], + "ordinal": 8, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 2, + 12, + 16, + 32, + 68, + 128, + 256 + ], + "ordinal": 9, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 2, + 12, + 16, + 32, + 68, + 128, + 256 + ], + "ordinal": 10, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 2, + 12, + 16, + 32, + 68, + 128, + 256 + ], + "ordinal": 11, + "phase": "cleanup_tail" + }, + { + "new": [ + 2, + 5, + 24, + 40, + 72, + 385 + ], + "old": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "ordinal": 12, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 4, + 11, + 17, + 34, + 64, + 128, + 256 + ], + "ordinal": 20, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 4, + 11, + 17, + 34, + 64, + 128, + 256 + ], + "ordinal": 21, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 4, + 11, + 17, + 34, + 64, + 128, + 256 + ], + "ordinal": 22, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 4, + 11, + 17, + 34, + 64, + 128, + 256 + ], + "ordinal": 23, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 10, + 20, + 38, + 64, + 128, + 256 + ], + "ordinal": 24, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 10, + 20, + 38, + 64, + 128, + 256 + ], + "ordinal": 25, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 10, + 20, + 38, + 64, + 128, + 256 + ], + "ordinal": 26, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 10, + 20, + 38, + 64, + 128, + 256 + ], + "ordinal": 27, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 6, + 11, + 19, + 32, + 64, + 128, + 256 + ], + "ordinal": 28, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 6, + 11, + 19, + 32, + 64, + 128, + 256 + ], + "ordinal": 29, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 6, + 11, + 19, + 32, + 64, + 128, + 256 + ], + "ordinal": 30, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 6, + 11, + 19, + 32, + 64, + 128, + 256 + ], + "ordinal": 31, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 8, + 21, + 37, + 64, + 128, + 256 + ], + "ordinal": 32, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 8, + 21, + 37, + 64, + 128, + 256 + ], + "ordinal": 33, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 8, + 21, + 37, + 64, + 128, + 256 + ], + "ordinal": 34, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 8, + 21, + 37, + 64, + 128, + 256 + ], + "ordinal": 35, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 4, + 11, + 17, + 34, + 64, + 128, + 256 + ], + "ordinal": 36, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 4, + 11, + 17, + 34, + 64, + 128, + 256 + ], + "ordinal": 37, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 4, + 11, + 17, + 34, + 64, + 128, + 256 + ], + "ordinal": 38, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 4, + 11, + 17, + 34, + 64, + 128, + 256 + ], + "ordinal": 39, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 6, + 8, + 16, + 34, + 66, + 128, + 256 + ], + "ordinal": 47, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 6, + 8, + 16, + 34, + 66, + 128, + 256 + ], + "ordinal": 48, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 10, + 20, + 38, + 64, + 128, + 256 + ], + "ordinal": 49, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 10, + 20, + 38, + 64, + 128, + 256 + ], + "ordinal": 50, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 10, + 20, + 38, + 64, + 128, + 256 + ], + "ordinal": 51, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 10, + 20, + 38, + 64, + 128, + 256 + ], + "ordinal": 52, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 4, + 9, + 16, + 32, + 65, + 128, + 256 + ], + "ordinal": 55, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 4, + 9, + 16, + 32, + 65, + 128, + 256 + ], + "ordinal": 56, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 6, + 11, + 19, + 32, + 64, + 128, + 256 + ], + "ordinal": 60, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 6, + 11, + 19, + 32, + 64, + 128, + 256 + ], + "ordinal": 61, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 6, + 11, + 19, + 32, + 64, + 128, + 256 + ], + "ordinal": 62, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 6, + 11, + 19, + 32, + 64, + 128, + 256 + ], + "ordinal": 63, + "phase": "cleanup_tail" + }, + { + "new": [ + 3, + 12, + 17, + 33, + 64, + 388 + ], + "old": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "ordinal": 67, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 8, + 21, + 37, + 64, + 128, + 256 + ], + "ordinal": 73, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 8, + 21, + 37, + 64, + 128, + 256 + ], + "ordinal": 74, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 8, + 21, + 37, + 64, + 128, + 256 + ], + "ordinal": 75, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 8, + 21, + 37, + 64, + 128, + 256 + ], + "ordinal": 76, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 6, + 10, + 18, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 12, + 18, + 32, + 70, + 128, + 256 + ], + "ordinal": 85, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 6, + 10, + 18, + 32, + 64, + 128, + 256 + ], + "old": [ + 6, + 10, + 18, + 33, + 65, + 128, + 256 + ], + "ordinal": 88, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 2, + 8, + 20, + 36, + 64, + 128, + 256 + ], + "ordinal": 94, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 2, + 8, + 20, + 36, + 64, + 128, + 256 + ], + "ordinal": 95, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 2, + 8, + 20, + 36, + 64, + 128, + 256 + ], + "ordinal": 96, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 2, + 8, + 20, + 36, + 64, + 128, + 256 + ], + "ordinal": 97, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 2, + 12, + 16, + 32, + 68, + 128, + 256 + ], + "ordinal": 98, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 2, + 12, + 16, + 32, + 68, + 128, + 256 + ], + "ordinal": 99, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 2, + 12, + 16, + 32, + 68, + 128, + 256 + ], + "ordinal": 100, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 5, + 9, + 17, + 33, + 65, + 128, + 256 + ], + "ordinal": 101, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 5, + 9, + 17, + 33, + 65, + 128, + 256 + ], + "ordinal": 102, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 5, + 9, + 17, + 33, + 65, + 128, + 256 + ], + "ordinal": 103, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 10, + 20, + 38, + 64, + 128, + 256 + ], + "ordinal": 104, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 10, + 20, + 38, + 64, + 128, + 256 + ], + "ordinal": 105, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 10, + 20, + 38, + 64, + 128, + 256 + ], + "ordinal": 106, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 4, + 11, + 17, + 34, + 64, + 128, + 256 + ], + "ordinal": 107, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 4, + 11, + 17, + 34, + 64, + 128, + 256 + ], + "ordinal": 108, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 4, + 11, + 17, + 34, + 64, + 128, + 256 + ], + "ordinal": 109, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 4, + 9, + 16, + 32, + 65, + 128, + 256 + ], + "ordinal": 110, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 4, + 9, + 16, + 32, + 65, + 128, + 256 + ], + "ordinal": 111, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 6, + 8, + 16, + 34, + 66, + 128, + 256 + ], + "ordinal": 116, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 6, + 8, + 16, + 34, + 66, + 128, + 256 + ], + "ordinal": 117, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 121, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 122, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 123, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 124, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 125, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 126, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 127, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 128, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 129, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 130, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 131, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 132, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 133, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 134, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 135, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 136, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 137, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 138, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 139, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 140, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 141, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 142, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 143, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 144, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 145, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 146, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 147, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 148, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 149, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 150, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 151, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 152, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 153, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 154, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 155, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 156, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 157, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 158, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 159, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 160, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 161, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 4, + 11, + 17, + 34, + 64, + 128, + 256 + ], + "ordinal": 162, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 4, + 11, + 17, + 34, + 64, + 128, + 256 + ], + "ordinal": 163, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 4, + 11, + 17, + 34, + 64, + 128, + 256 + ], + "ordinal": 164, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 4, + 11, + 17, + 34, + 64, + 128, + 256 + ], + "ordinal": 165, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 4, + 10, + 16, + 34, + 64, + 128, + 256 + ], + "ordinal": 166, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 4, + 10, + 16, + 34, + 64, + 128, + 256 + ], + "ordinal": 167, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 4, + 10, + 16, + 34, + 64, + 128, + 256 + ], + "ordinal": 168, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 4, + 10, + 16, + 34, + 64, + 128, + 256 + ], + "ordinal": 169, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 4, + 10, + 16, + 34, + 64, + 128, + 256 + ], + "ordinal": 170, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 10, + 20, + 38, + 64, + 128, + 256 + ], + "ordinal": 171, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 10, + 20, + 38, + 64, + 128, + 256 + ], + "ordinal": 172, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 10, + 20, + 38, + 64, + 128, + 256 + ], + "ordinal": 173, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 10, + 20, + 38, + 64, + 128, + 256 + ], + "ordinal": 174, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 10, + 20, + 38, + 64, + 128, + 256 + ], + "ordinal": 175, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 10, + 20, + 38, + 64, + 128, + 256 + ], + "ordinal": 176, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 10, + 20, + 38, + 64, + 128, + 256 + ], + "ordinal": 177, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 10, + 20, + 38, + 64, + 128, + 256 + ], + "ordinal": 178, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 4, + 10, + 16, + 34, + 64, + 128, + 256 + ], + "ordinal": 179, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 4, + 10, + 16, + 34, + 64, + 128, + 256 + ], + "ordinal": 180, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 4, + 10, + 16, + 34, + 64, + 128, + 256 + ], + "ordinal": 181, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 4, + 10, + 16, + 34, + 64, + 128, + 256 + ], + "ordinal": 182, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 4, + 10, + 16, + 34, + 64, + 128, + 256 + ], + "ordinal": 183, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 188, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 4, + 10, + 16, + 34, + 64, + 128, + 256 + ], + "ordinal": 189, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 4, + 10, + 16, + 34, + 64, + 128, + 256 + ], + "ordinal": 191, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 4, + 10, + 16, + 34, + 64, + 128, + 256 + ], + "ordinal": 192, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 4, + 10, + 16, + 34, + 64, + 128, + 256 + ], + "ordinal": 193, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 4, + 10, + 16, + 34, + 64, + 128, + 256 + ], + "ordinal": 194, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 4, + 10, + 16, + 34, + 64, + 128, + 256 + ], + "ordinal": 195, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 4, + 10, + 16, + 34, + 64, + 128, + 256 + ], + "ordinal": 196, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 6, + 11, + 19, + 32, + 64, + 128, + 256 + ], + "ordinal": 197, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 5, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "ordinal": 198, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 5, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "ordinal": 199, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 5, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "ordinal": 200, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 5, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "ordinal": 201, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 5, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "ordinal": 202, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 8, + 21, + 37, + 64, + 128, + 256 + ], + "ordinal": 204, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 5, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "ordinal": 205, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 5, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "ordinal": 206, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 5, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "ordinal": 207, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 5, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "ordinal": 208, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 5, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "ordinal": 209, + "phase": "cleanup_tail" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 4, + 10, + 16, + 34, + 64, + 128, + 256 + ], + "ordinal": 226, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 4, + 10, + 16, + 34, + 64, + 128, + 256 + ], + "ordinal": 228, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 4, + 10, + 16, + 34, + 64, + 128, + 256 + ], + "ordinal": 230, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 249, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 251, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 265, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 5, + 11, + 16, + 35, + 64, + 128, + 256 + ], + "ordinal": 267, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 4, + 11, + 17, + 34, + 64, + 128, + 256 + ], + "ordinal": 299, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 6, + 8, + 16, + 34, + 66, + 128, + 256 + ], + "ordinal": 304, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 4, + 9, + 16, + 32, + 65, + 128, + 256 + ], + "ordinal": 320, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 10, + 20, + 38, + 64, + 128, + 256 + ], + "ordinal": 331, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 5, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "ordinal": 363, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 5, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "ordinal": 395, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 2, + 8, + 20, + 36, + 64, + 128, + 256 + ], + "ordinal": 408, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 5, + 9, + 17, + 33, + 65, + 128, + 256 + ], + "ordinal": 412, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 2, + 8, + 20, + 36, + 64, + 128, + 256 + ], + "ordinal": 424, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 2, + 12, + 16, + 32, + 68, + 128, + 256 + ], + "ordinal": 428, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 4, + 11, + 17, + 34, + 64, + 128, + 256 + ], + "ordinal": 448, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 4, + 11, + 17, + 34, + 64, + 128, + 256 + ], + "ordinal": 449, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 10, + 20, + 38, + 64, + 128, + 256 + ], + "ordinal": 450, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 10, + 20, + 38, + 64, + 128, + 256 + ], + "ordinal": 451, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 6, + 11, + 19, + 32, + 64, + 128, + 256 + ], + "ordinal": 452, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 6, + 11, + 19, + 32, + 64, + 128, + 256 + ], + "ordinal": 453, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 8, + 21, + 37, + 64, + 128, + 256 + ], + "ordinal": 454, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 8, + 21, + 37, + 64, + 128, + 256 + ], + "ordinal": 455, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 4, + 11, + 17, + 34, + 64, + 128, + 256 + ], + "ordinal": 482, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 4, + 11, + 17, + 34, + 64, + 128, + 256 + ], + "ordinal": 483, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 6, + 8, + 16, + 34, + 66, + 128, + 256 + ], + "ordinal": 496, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 6, + 8, + 16, + 34, + 66, + 128, + 256 + ], + "ordinal": 497, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 10, + 20, + 38, + 64, + 128, + 256 + ], + "ordinal": 503, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 10, + 20, + 38, + 64, + 128, + 256 + ], + "ordinal": 504, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 4, + 9, + 16, + 32, + 65, + 128, + 256 + ], + "ordinal": 507, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 4, + 9, + 16, + 32, + 65, + 128, + 256 + ], + "ordinal": 508, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 6, + 11, + 19, + 32, + 64, + 128, + 256 + ], + "ordinal": 526, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 6, + 11, + 19, + 32, + 64, + 128, + 256 + ], + "ordinal": 527, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 8, + 21, + 37, + 64, + 128, + 256 + ], + "ordinal": 550, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 8, + 21, + 37, + 64, + 128, + 256 + ], + "ordinal": 551, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 2, + 8, + 20, + 36, + 64, + 128, + 256 + ], + "ordinal": 566, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 2, + 8, + 20, + 36, + 64, + 128, + 256 + ], + "ordinal": 567, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 5, + 9, + 17, + 33, + 65, + 128, + 256 + ], + "ordinal": 568, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 3, + 5, + 9, + 17, + 33, + 65, + 128, + 256 + ], + "ordinal": 569, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 2, + 8, + 20, + 36, + 64, + 128, + 256 + ], + "ordinal": 574, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 2, + 8, + 20, + 36, + 64, + 128, + 256 + ], + "ordinal": 575, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 2, + 12, + 16, + 32, + 68, + 128, + 256 + ], + "ordinal": 576, + "phase": "exit" + }, + { + "new": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 2, + 12, + 16, + 32, + 68, + 128, + 256 + ], + "ordinal": 577, + "phase": "exit" + }, + { + "new": [ + 1, + 6, + 10, + 18, + 32, + 64, + 128, + 256 + ], + "old": [ + 1, + 12, + 18, + 32, + 70, + 128, + 256 + ], + "ordinal": 580, + "phase": "exit" + }, + { + "new": [ + 1, + 6, + 10, + 18, + 32, + 64, + 128, + 256 + ], + "old": [ + 6, + 10, + 18, + 33, + 65, + 128, + 256 + ], + "ordinal": 582, + "phase": "exit" + } + ], + "source_head": "322e0ec764aa7ef7801383feb1f656e460dd8bed" +} diff --git a/research/hyperplane-retiming/vendor/research/joint-helper-lattice/native_joint.py b/research/hyperplane-retiming/vendor/research/joint-helper-lattice/native_joint.py new file mode 100644 index 0000000000..0315f80e2f --- /dev/null +++ b/research/hyperplane-retiming/vendor/research/joint-helper-lattice/native_joint.py @@ -0,0 +1,118 @@ +"""Joint entrance/exit/contact retiming, with literal and phase replay. + +Apache-2.0. Substantial OpenAI assistance. Uses the credited native retiming +implementation of PR4441 and preserves PR4447's missing-span predecessor. +""" +from collections import Counter +from copy import deepcopy +from pathlib import Path +import json,gzip,sys +sys.dont_write_bytecode=True +HERE=Path(__file__).resolve().parent +ROOT=HERE.parents[1] +sys.path.insert(0,str(ROOT/'research/fresh-helper-boundary')) +import native as F +need=F.need + +def construct(patch=None): + c=F.read(F.BASE/'THREE-base-FULL-IDENTITY-CANONICAL.json.gz') + original=F.read(F.BASE/'THREE-base-FULL-IDENTITY-NATIVE.json.gz') + parent=F.read(F.HERE/'CHANGES.json') + maps={d:F.gates(p) for d,p in original.items()} + need(set(maps['forward'])==set(maps['backward']),'Same scalar contact inventory') + for key in maps['forward']: + f=original['forward'][maps['forward'][key]];b=original['backward'][maps['backward'][key]] + need(b[1]==F.dual(f[1]) and b[2]==f[2],'Retained exact dual scalar words') + for key,field in [('entrances','start'),('exits','final')]: + for r,old,new in parent[key]: + need(c[field][r]==old,'Parent boundary pin');c[field][r]=new + for phase,ordinal,old,new in parent['gates']: + for d,p in original.items(): + i=maps[d][phase,ordinal];need(p[i][2]==old,'Parent scalar pin');p[i][2]=new + prior=F.read(ROOT/'research/missing-join-frame/PATCH.json') + need(prior['phase']=='B' and prior['ordinal']==480,'Exact prior contact') + prior_frame=len(c['frames']);c['frames'].append(prior['new_basis']) + for d,p in original.items(): + i=maps[d]['B',480];need(p[i][2]==prior['old_frame'],'Missing-span parent pin');p[i][2]=prior_frame + baseline=deepcopy(c) + before={d:F.synthesize(c,p) for d,p in original.items()} + patch=F.read(HERE/'PATCH.json') if patch is None else patch + need(patch['source_head']=='322e0ec764aa7ef7801383feb1f656e460dd8bed','Pinned candidate head') + labels={frozenset(F.span(b)):i for i,b in enumerate(c['frames'])} + def label(b): + s=frozenset(F.span(b));need(len(s)==2**len(b),'Independent binary basis') + if s not in labels:labels[s]=len(c['frames']);c['frames'].append(b) + return labels[s] + seen=set();counts=Counter() + for move in patch['changes']: + phase,r=move['phase'],move['ordinal'];key=(phase,r) + need(key not in seen,'No duplicate changed boundary/contact');seen.add(key) + a,b=F.span(move['old']),F.span(move['new']);need(a!=b,'No unchanged patch entry') + f=label(move['new']);counts[phase]+=1 + if phase in ('entrance','exit'): + need(224<=r<632,'Only independent helper boundaries may change') + field='start' if phase=='entrance' else 'final' + need(F.span(c['frames'][c[field][r]])==a,'Current helper source pin') + c[field][r]=f + else: + for d,p in original.items(): + i=maps[d][key];need(F.span(c['frames'][p[i][2]])==a,'Current scalar source pin');p[i][2]=f + programs={d:F.synthesize(c,p) for d,p in original.items()} + return c,programs,baseline,before,counts + +def run(phase_check=True): + c,programs,baseline,before,counts=construct() + V=F.load(ROOT/'research/kappa-causal-continuation/buffer-borrowing/verify_buffers.py','joint_rows') + X=F.load(ROOT/'research/kappa-rebuild/complex/native_extensions.py','joint_literal') + checks={};profiles={} + for d,p in programs.items(): + rows,rec=X.literal_replay(V,c,p,d=='backward') + for r in range(632):need(rows['L',r]==V.expected(('L',r),[],d=='backward',False),'All 632 arbitrary-input endpoints') + profiles[d]=Counter({int(k):v for k,v in rec['paid_profile'].items()}) + rebound=deepcopy(c);rebound['local_profile']=dict(profiles[d]) + rec['second_literal']=V.replay(p,rebound,[],d=='backward',False);checks[d]=rec + need(profiles['forward']==profiles['backward'],'Both complete native rank tariffs') + H=Counter() + for r in range(224,632): + a,b=c['start'][r],c['final'][r] + need(F.span(c['frames'][a]) 0 else -1) * (abs(operator) + (10**6 if backward else 0)) + out = {} + for (variable, word), coefficient in row.items(): + moved = word[1:] if word and word[0] == -symbol else (symbol,) + word + key = variable, moved + out[key] = out.get(key, Q(0)) + coefficient + return {k: v for k, v in out.items() if v} + + +def expected(role, R, backward, clean): + out = identity(role) + name, i = role + if name != "L": + return out + target = i < 112 if backward else 112 <= i < 224 + if not target: + return out + port = i if backward else i - 112 + source_offset = 112 if backward else 0 + sign = -1 if backward else 1 + add(out, identity(("L", source_offset + port)), Q(sign)) + if clean: + for query in R: + if port in query: + for j, value in query.items(): + add(out, identity(("L", source_offset + j)), -sign * query[port] * value / 4) + return out + + +def replay(program, canonical, R, backward, clean, omit_cleanup_last=False): + """All L inputs and all Z inputs are independent, including dirty outputs.""" + n = 2 * canonical["v"] + canonical["R"] + need(n == 632, "Retained compact width") + rows = {("L", i): identity(("L", i)) for i in range(n)} + current = {("L", i): frame for i, frame in enumerate(canonical["start"])} + center_indices = set() + for event in program: + if event[0] == "scalar": + op = event[1] + for register in op[1:3] if op[0] in ("add", "copy") else op[1:2]: + if register[0] == "C": + center_indices.add(register[1]) + elif event[0] == "center": + center_indices.add(event[1]) + need(center_indices <= set(range(8)), "Known center workspace indices") + for i in center_indices: + rows["C", i] = identity(("C", i)) + current["C", i] = None + spaces = [span(vectors) for vectors in canonical["frames"]] + dimensions = [len(s).bit_length() - 1 for s in spaces] + need(dimensions[1] == 9, "Cleanup uses the full native frame") + live = set() + profile = Counter() + counts = Counter() + scalar_primitives = 0 + cleanup_start = next(i for i, event in enumerate(program) if event == ["phase", "full_frame_cleanup"]) + last_scalar = max(i for i, event in enumerate(program) if event[0] == "scalar" and i > cleanup_start) + for position, event in enumerate(program): + kind = event[0] + counts[kind] += 1 + if kind in ("climb", "center"): + if kind == "climb": + _, part, index, old, new, rank = event + role = "L", index + need(spaces[old] < spaces[new], "Non-nested or empty paid climb") + else: + _, index, old, new, rank = event + role = "C", index + need(spaces[old] < spaces[new] or spaces[new] < spaces[old], "Center residual is not nested") + need(current[role] == old and rank == abs(dimensions[new] - dimensions[old]), "Paid edge source/rank") + current[role] = new + profile[rank] += 1 + elif kind == "zero_buffer": + _, action, index = event + role = "Z", index + if action == "alloc": + need(role not in rows and role not in live, "Cleanup buffer duplicate") + rows[role] = identity(role) + current[role] = 1 + live.add(role) + else: + need(action == "free" and role in live and current[role] == 1, "Cleanup buffer retirement") + live.remove(role) + elif kind == "warp": + _, role, operator, old, new = event + role = tuple(role) + need(current[role] == old, "Warp entrance frame") + rows[role] = warp(rows[role], operator, backward) + current[role] = new + elif kind == "scalar": + op, frame = event[1:] + target = tuple(op[1]) + if op[0] == "clear": + need(target[0] == "C", "A borrowed input was cleared") + rows[target] = {} + current[target] = frame + scalar_primitives += 1 + continue + need(current[target] == frame, "Scalar target frame") + if op[0] in ("add", "copy"): + source = tuple(op[2]) + need(current[source] == frame, "Scalar source frame") + if op[0] == "copy": + need(target[0] == "C", "Copy overwrites borrowed state") + rows[target] = dict(rows[source]) + scalar_primitives += 1 + continue + coefficient = Q(op[3], op[4]) + need(target != source, "Self-ADD is not a reversible shear") + numerator, denominator = abs(coefficient.numerator), coefficient.denominator + need(numerator and denominator & (denominator - 1) == 0, "Non-dyadic ADD") + scalar_primitives += 3 + numerator.bit_length() - 1 + numerator.bit_count() + denominator.bit_length() - 1 + if not (omit_cleanup_last and position == last_scalar): + add(rows[target], rows[source], coefficient) + else: + need(op[0] == "scale", "Unknown scalar event") + coefficient = Q(op[2], op[3]) + numerator, denominator = abs(coefficient.numerator), coefficient.denominator + need(numerator and numerator & (numerator - 1) == 0 and denominator & (denominator - 1) == 0, + "Nonunit dyadic SCALE") + scalar_primitives += abs(numerator.bit_length() - denominator.bit_length()) + int(coefficient < 0) + if not (omit_cleanup_last and position == last_scalar): + rows[target] = {k: coefficient * v for k, v in rows[target].items()} + else: + need(kind in ("phase", "adapter", "residual_adapter"), "Unknown native event") + need(not live and [current["L", i] for i in range(n)] == canonical["final"], "Retired fields/final frames") + need(dict(profile) == {int(k): v for k, v in canonical["local_profile"].items()}, "Complete paid profile") + mismatches = [] + for role, actual in rows.items(): + wanted = {} if role[0] == "C" else expected(role, R, backward, clean) + if actual != wanted: + mismatches.append({"role": list(role), "unequal_coefficients": sum(actual.get(k, 0) != wanted.get(k, 0) for k in set(actual) | set(wanted))}) + if not omit_cleanup_last: + need(not mismatches, "Native dirty-buffer operator mismatch: " + repr(mismatches[:3])) + else: + need(mismatches, "Missing-cleanup negative control unexpectedly accepted") + buffer_count = sum(role[0] == "Z" for role in rows) + return dict(direction="backward" if backward else "forward", clean_J=clean, + independent_borrowed_input_fields=632+buffer_count, original_data_fields=224, + expected_restored_helpers=408, expected_restored_arbitrary_cleanup_buffers=buffer_count, + explicitly_owned_C_fields_cleared=len(center_indices), event_counts=dict(counts), + paid_profile=dict(sorted(profile.items())), paid_rank_mass=sum(k*v for k,v in profile.items()), + conservative_real_scalar_primitive_allowance=2*scalar_primitives, + all_scalar_frames_checked=True, dyadic_coefficients_and_unit_scales_checked=True, + free_warp_operator_endpoint_matches=not mismatches, + negative_control_omitted_last_cleanup_scalar=omit_cleanup_last, + mismatch_examples=mismatches[:3]) + + +def liveness(canonical): + times = defaultdict(list) + for i, event in enumerate(canonical["cleanup"]): + for role in event[1:3] if event[0] == "add" else event[1:2]: + role = tuple(role) if isinstance(role, list) else ("L", role) + times[role].append(i) + full = [i for i, f in enumerate(canonical["final"]) if f == 1] + candidates = [] + for z in canonical["zero_buffers"]: + begin, end = min(times["Z", z]), max(times["Z", z]) + possible = [i for i in range(112) if all(t < begin or t > end for t in times["L", i])] + candidates.append(dict(buffer=z, first_use=begin, last_use=end, + noninterfering_same_call_X_candidates=possible, + noninterfering_full_frame_L_candidates=[i for i in full if all(t < begin or t > end for t in times["L", i])])) + return dict(full_frame_live_roles=len(full), full_frame_roles_unused_in_cleanup=[i for i in full if not times["L", i]], + same_call_X_outputs_touched=sum(bool(times["L", i]) for i in range(112)), + buffers_with_no_noninterfering_same_call_X=sum(not row["noninterfering_same_call_X_candidates"] for row in candidates), + buffers_with_no_noninterfering_full_frame_L=sum(not row["noninterfering_full_frame_L_candidates"] for row in candidates), + intervals=candidates, + conclusion="Arbitrary-buffer restoration does not establish a legal same-call completed-output alias.", + external_same_frame_bank_requirement=91, + external_bank_hosting_constructed=False) + + +def find_aliases(canonical): + """Injective lifetime-safe matching; no native L access during its Z span.""" + options = {row["buffer"]: row["noninterfering_full_frame_L_candidates"] + for row in liveness(canonical)["intervals"]} + owner = {} + + def augment(z, seen): + for role in options[z]: + if role in seen: + continue + seen.add(role) + if role not in owner or augment(owner[role], seen): + owner[role] = z + return True + return False + + for z in sorted(options, key=lambda z: (len(options[z]), z)): + augment(z, set()) + bindings = {z: role for role, z in owner.items()} + need(len(set(bindings.values())) == len(bindings), "Alias must be injective") + need(all(role in options[z] for z, role in bindings.items()), "Interfering alias") + return bindings + + +def alias_program(program, bindings): + """Replace only Z register operands, retaining every native/scalar event.""" + out = [] + + def mapped(role): + return ["L", bindings[role[1]]] if role[0] == "Z" and role[1] in bindings else list(role) + + for event in program: + if event[0] == "zero_buffer" and event[2] in bindings: + continue + if event[0] == "scalar": + op = event[1].copy() + op[1] = mapped(op[1]) + if op[0] in ("add", "copy"): + op[2] = mapped(op[2]) + out.append(["scalar", op, event[2]]) + elif event[0] == "warp": + out.append([event[0], mapped(event[1]), *event[2:]]) + else: + out.append(event) + return out + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--output", type=Path, default=HERE / "RESULT.json") + args = parser.parse_args() + pins = authenticate() + R = [{int(k): Q(v) for k, v in row.items()} for row in read(PACKET)["R_rows"]] + providers = {} + for tag in TAGS: + providers[tag] = {} + for clean in (False, True): + folder = "converted" if clean else "sources" + canonical = read(CORE / folder / (tag + "-CANONICAL.json.gz")) + programs = read(CORE / folder / (tag + "-NATIVE-WORD.json.gz")) if clean else emit_original(canonical) + checks = [replay(programs[direction], canonical, R, direction == "backward", clean) + for direction in ("forward", "backward")] + bindings = find_aliases(canonical) + aliases = {direction: alias_program(program, bindings) for direction, program in programs.items()} + aliased_checks = [replay(aliases[direction], canonical, R, direction == "backward", clean) + for direction in ("forward", "backward")] + need(len(bindings) == 53, "Expected source-bound 53-field lifetime match") + for original, aliased in zip(checks, aliased_checks): + need(original["paid_profile"] == aliased["paid_profile"] and + original["conservative_real_scalar_primitive_allowance"] == aliased["conservative_real_scalar_primitive_allowance"], + "Aliasing changes the charged operation list") + providers[tag]["clean_J" if clean else "ordinary"] = dict(checks=checks, liveness=liveness(canonical), + lifetime_alias_bindings={str(z): role for z, role in sorted(bindings.items())}, + aliased_checks=aliased_checks, + eliminated_cleanup_fields=len(bindings), remaining_cleanup_fields=91-len(bindings), + aliased_word_sha256={direction: sha256(json.dumps(program, sort_keys=True, separators=(",", ":")).encode()).hexdigest() + for direction, program in aliases.items()}) + print("PASS all arbitrary cleanup inputs", tag, flush=True) + canonical = read(CORE / "converted/THREE-base-CANONICAL.json.gz") + programs = read(CORE / "converted/THREE-base-NATIVE-WORD.json.gz") + controls = [replay(programs[direction], canonical, R, direction == "backward", True, True) + for direction in ("forward", "backward")] + result = dict(schema="literal-native-dirty-buffers/1", status="PASS_NATIVE_ARBITRARY_DIRTY_BUFFER_REPLAY", + new_multiplication_kappa=False, physical_phase_generation_rerun=False, + phase_evidence="Pinned inherited exact native phase receipts; unchanged native edges.", + source_hashes=pins, verifier_sha256=digest(Path(__file__)), providers=providers, + negative_controls=controls, + lifetime_safe_local_full_frame_aliases_per_word=53, + remaining_external_bank_fields_per_word=38, + all_91_local_output_alias_claim=False, external_bank_placement_and_cost_closed=False) + args.output.parent.mkdir(parents=True, exist_ok=True) + args.output.write_text(json.dumps(result, indent=2) + "\n") + print(result["status"], flush=True) + + +if __name__ == "__main__": + main() diff --git a/research/hyperplane-retiming/vendor/research/kappa-function-composition/complex/prune_native.py b/research/hyperplane-retiming/vendor/research/kappa-function-composition/complex/prune_native.py new file mode 100644 index 0000000000..8c3e11b240 --- /dev/null +++ b/research/hyperplane-retiming/vendor/research/kappa-function-composition/complex/prune_native.py @@ -0,0 +1,253 @@ +#!/usr/bin/env python3 +"""Delete exact unconsumed centre-assembly/inverse pairs, including dirty state. + +Apache-2.0; substantial OpenAI assistance. The native writer and final verifier +are reused with attribution from the frozen causal-continuation package. The +new search checks literal rational perturbations, never numerical similarity. +""" +from collections import Counter +from copy import deepcopy +from fractions import Fraction as Q +from hashlib import sha256 +from pathlib import Path +import argparse +import gzip +import importlib.util +import json +import sys +sys.dont_write_bytecode = True +HERE = Path(__file__).resolve().parent +RESEARCH = HERE.parents[1] +BASE = RESEARCH / 'kappa-global-routing/integrated-complex' +CHECKER = RESEARCH / 'kappa-causal-continuation/buffer-borrowing/verify_buffers.py' +CHECKER_SHA = '106b4d5e052427230df452f0c901d5390a0583782960b80a8af94d9a984022c7' +CLIFFORD = RESEARCH / 't74-native-fast/vendor/native/new/code/borrow/vendor/clifford/clifford_exact.py' +TAGS = ('THREE-base', 'THREE-extra', 'FOUR-base', 'FOUR-extra') + + +def need(ok, why): + if not ok: raise ValueError(why) + + +def digest(path): return sha256(path.read_bytes()).hexdigest() + + +def read(path): + data = path.read_bytes() + return json.loads(gzip.decompress(data) if path.suffix == '.gz' else data) + + +def save(path, value): + data = json.dumps(value, sort_keys=True, separators=(',', ':')).encode() + path.write_bytes(gzip.compress(data, mtime=0)) + + +def load(path, name): + spec = importlib.util.spec_from_file_location(name, path) + obj = importlib.util.module_from_spec(spec) + sys.modules[name] = obj + spec.loader.exec_module(obj) + return obj + + +def apply(v, rows, event, backward=False): + if event[0] == 'warp': + r = tuple(event[1]); rows[r] = v.warp(rows[r], event[2], backward) + elif event[0] == 'scalar': + g = event[1]; r = tuple(g[1]) + if g[0] == 'add': v.add(rows[r], rows[tuple(g[2])], Q(g[3], g[4])) + else: + need(g[0] == 'scale', 'No owned field in the clean-J baseline') + rows[r] = {k: Q(g[2], g[3])*x for k, x in rows[r].items()} + + +def index_sections(program): + phase = None; result = {'A': [], 'full_frame_cleanup': []} + for i, e in enumerate(program): + if e[0] == 'phase': phase = e[1] + if phase in result and e[0] in ('scalar', 'warp'): result[phase].append(i) + return result + + +def exact_candidate_screen(v, canonical, program, R): + """Test the final 48 assembly gates, with their actual scheduled inverses.""" + indices = index_sections(program) + need(len(indices['A']) == len(canonical['A']), 'Native A gate correspondence') + need(len(indices['full_frame_cleanup']) == len(canonical['cleanup']), 'Cleanup gate correspondence') + options = []; unmatched = [] + for j in range(len(canonical['A']) - 48, len(canonical['A'])): + g = canonical['A'][j] + need(g[0] == 'add' and len(canonical['frames'][g[-1]]) in (7, 8), 'Final centre-assembly grammar') + inverse = g[:]; inverse[3] *= -1; inverse[-1] = 1 + hits = [i for i, h in enumerate(canonical['cleanup']) if h == inverse] + if len(hits) == 1: + cj = hits[0] + options.append((j, cj, indices['A'][j], indices['full_frame_cleanup'][cj])) + else: unmatched.append({'A_index': j, 'gate': g, 'matching_inverse_occurrences': hits}) + sites = {k for option in options for k in option[2:]} + effects = {}; rows = {('L', i): v.identity(('L', i)) for i in range(632)} + for i, e in enumerate(program): + if i in sites: + g = e[1] + effects[i] = (tuple(g[1]), {k: -Q(g[3], g[4])*x for k, x in rows[tuple(g[2])].items()}) + apply(v, rows, e) + need(all(row == v.expected(r, R, False, True) for r, row in rows.items()), 'Pinned baseline endpoint') + accepted = []; rejected = [] + for aj, cj, ai, ci in options: + delta = {('L', i): {} for i in range(632)} + live_data_effect = False + for i in range(ai, len(program)): + if i in (ai, ci): + target, effect = effects[i]; v.add(delta[target], effect, Q(1)) + else: apply(v, delta, program[i]) + if i < indices['full_frame_cleanup'][0]: + e = program[i] + if e[0] == 'scalar' and e[1][0] in ('add', 'scale'): + r = tuple(e[1][1]) + if r[0] == 'L' and 112 <= r[1] < 224 and delta[r]: live_data_effect = True + bad = [(r, row) for r, row in delta.items() if row] + item = {'A_index': aj, 'cleanup_index': cj, 'A_gate': canonical['A'][aj], + 'cleanup_gate': canonical['cleanup'][cj], + 'native_scalar_sites': [ai, ci], 'Y_difference_before_cleanup': live_data_effect} + if not bad: + item['all_632_arbitrary_input_columns_exactly_preserved'] = True + accepted.append(item) + else: + r, row = bad[0]; key, value = next(iter(sorted(row.items()))) + item['first_exact_nonzero_residual'] = {'output': list(r), 'input': list(key[0]), + 'operator_word': list(key[1]), 'coefficient': str(value)} + item['changed_output_fields'] = len(bad) + rejected.append(item) + need(all(not a['Y_difference_before_cleanup'] for a in accepted), 'No changed data consumer before cleanup') + return accepted, rejected, unmatched + + +def prefix_growth(v, program, backward): + rows = {('L', i): v.identity(('L', i)) for i in range(632)} + maximum_l1 = Q(1); max_coefficient = Q(1); max_numerator = 1; max_denominator = 1 + witness = {'event': -1, 'register': ['L', 0]} + for i, event in enumerate(program): + apply(v, rows, event, backward) + if event[0] not in ('scalar', 'warp'): continue + role = tuple(event[1] if event[0] == 'warp' else event[1][1]) + values = [abs(x) for x in rows[role].values()] + norm = sum(values, Q(0)) + if norm > maximum_l1: + maximum_l1 = norm; witness = {'event': i, 'register': list(role)} + if values: + max_coefficient = max(max_coefficient, max(values)) + max_numerator = max(max_numerator, max(x.numerator for x in values)) + max_denominator = max(max_denominator, max(x.denominator for x in values)) + return {'max_formal_row_l1': str(maximum_l1), 'max_abs_coefficient': str(max_coefficient), + 'max_abs_numerator': max_numerator, 'max_denominator': max_denominator, + 'l1_witness': witness, 'independent_input_columns': 632, + 'scope': 'Exact logical scalar/monomial prefixes over arbitrary inputs; no rounded child error bound.'} + + +def monomial(ce, recipe, n): + result = ce.diag(n, tuple(recipe['quadratic_rows']), tuple(recipe['linear_Z4'])) + result = result.then(ce.perm(n, tuple(recipe['matrix_rows']))).then(ce.xgate(n, recipe['offset'])) + return result.then(ce.Op(n, ce.identity(n), [('phase', recipe['phase'])])) + + +def conjugate(ce, op): + n = op.n; result = ce.ident(n) + for g in op.circuit: + if g[0] == 'P': part = ce.perm(n, g[1]) + elif g[0] == 'X': part = ce.xgate(n, g[1]) + elif g[0] == 'C': part = ce.cgate(n, g[1], -g[2]) + elif g[0] == 'D': part = ce.diag(n, g[1], tuple(-x % 4 for x in g[2])) + else: + need(g[0] == 'phase', 'Known Clifford primitive') + part = ce.Op(n, ce.identity(n), [('phase', -g[1] % 4)]) + result = result.then(part) + return result + + +def check_new_edges(canonical, old_program, new_program, cache): + ce = load(CLIFFORD, 'function_composition_clifford') + old = {(e[3], e[4]) for e in old_program if e[0] == 'climb'} + new = {(e[3], e[4]) for e in new_program if e[0] == 'climb'} + reports = [] + for a, b in sorted(new - old): + A, B = canonical['frames'][a], canonical['frames'][b] + key = tuple(A), tuple(B) + if key not in cache: + source = ce.canonical_frame(9, A).adjoint().then(ce.canonical_frame(9, B)) + records = {} + for name, op in (('forward', source), ('inverse_transpose', conjugate(ce, source))): + recipe, _ = ce.lower_child(op) + need(recipe['rank'] == len(B)-len(A), 'Exact new physical child rank') + decoded = monomial(ce, recipe['right'], 9).then(ce.fourier(9, range(recipe['rank']))).then(monomial(ce, recipe['left'], 9)) + need(decoded.tab == op.tab and decoded.zero_state() == op.zero_state(), 'Decoded Clifford equality including global phase') + records[name] = recipe + cache[key] = records + reports.append({'old_frame': a, 'new_frame': b, 'old_basis': A, 'new_basis': B, + 'rank': len(B)-len(A), 'exact_physical_recipes': cache[key]}) + return reports + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--out', type=Path, default=HERE/'pruned-native') + args = parser.parse_args(); args.out.mkdir(parents=True, exist_ok=True) + need(digest(CHECKER) == CHECKER_SHA, 'Frozen independent checker') + v = load(CHECKER, 'function_composition_independent'); v.authenticate() + base_receipt = read(BASE/'RESULT.json') + R = [{int(k): Q(x) for k, x in row.items()} for row in v.read(v.PACKET)['R_rows']] + providers = {}; phase_cache = {} + for tag in TAGS: + path = BASE/(tag+'-CANONICAL.json.gz') + need(digest(path) == base_receipt['providers'][tag]['artifacts'][path.name], 'Pinned baseline canonical') + old = read(path); old_native = v.emit_original(old) + yes, no, unmatched = exact_candidate_screen(v, old, old_native['forward'], R) + candidate = deepcopy(old) + a_drop = {r['A_index'] for r in yes}; c_drop = {r['cleanup_index'] for r in yes} + candidate['A'] = [g for i, g in enumerate(old['A']) if i not in a_drop] + candidate['cleanup'] = [g for i, g in enumerate(old['cleanup']) if i not in c_drop] + native = v.emit_original(candidate) + histogram = Counter(e[5] for e in native['forward'] if e[0] == 'climb') + candidate['local_profile'] = {str(r): n for r, n in sorted(histogram.items())} + candidate['edges'] = [list(e) for e in sorted({(e[3], e[4]) for e in native['forward'] if e[0] == 'climb'})] + checks = {} + for name in ('forward', 'backward'): + checks[name] = {'independent_literal_replay': v.replay(native[name], candidate, R, name == 'backward', True), + 'baseline_prefix_growth': prefix_growth(v, old_native[name], name == 'backward'), + 'new_prefix_growth': prefix_growth(v, native[name], name == 'backward')} + phases = check_new_edges(candidate, old_native['forward'], native['forward'], phase_cache) + # Removing the computation while retaining its inverse must be rejected. + negative = deepcopy(candidate) + first = yes[0] + negative['cleanup'].insert(0, first['cleanup_gate']) + bad_program = v.emit_original(negative) + rejected_control = False + try: v.replay(bad_program['forward'], negative, R, False, True) + except ValueError as error: + rejected_control = 'operator mismatch' in str(error) + need(rejected_control, 'Unpaired deletion negative control') + cp = args.out/(tag+'-CANONICAL.json.gz'); np = args.out/(tag+'-NATIVE-WORD.json.gz') + save(cp, candidate); save(np, native) + providers[tag] = {'baseline_canonical_sha256': digest(path), 'candidate_pairs_tested': len(yes)+len(no), + 'accepted_pairs': yes, 'rejected_pairs': no, 'unmatched_pairs': unmatched, + 'old_paid_profile': old['local_profile'], 'new_paid_profile': candidate['local_profile'], + 'old_paid_rank_mass': sum(int(r)*n for r, n in old['local_profile'].items()), + 'new_paid_rank_mass': sum(int(r)*n for r, n in candidate['local_profile'].items()), + 'recursive_calls_removed': sum(old['local_profile'].values())-sum(histogram.values()), + 'scalar_ADDs_removed': 2*len(yes), 'checks': checks, + 'new_physical_edges': phases, 'unpaired_deletion_negative_control_rejected': True, + 'artifacts': {cp.name: digest(cp), np.name: digest(np)}} + print('PASS pruned native', tag, len(yes), 'pairs;', dict(sorted(histogram.items())), flush=True) + result = {'schema': 'consumer-driven-clean-J-native-pruning/1', + 'status': 'PASS_ALL_FOUR_BOTH_DIRECTIONS_632_ARBITRARY_FIELDS', + 'generator_sha256': digest(Path(__file__)), 'baseline_receipt_sha256': digest(BASE/'RESULT.json'), + 'independent_interpreter_sha256': CHECKER_SHA, 'phase_compiler_path': str(CLIFFORD.relative_to(RESEARCH.parent)), + 'phase_compiler_sha256': digest(CLIFFORD), 'providers': providers, + 'native_word_new_children_phase_lowered': True, 'local_data_and_helper_endpoints_unchanged': True, + 'same_632_field_inventory': True, 'zero_owned_fields': True, 'zero_external_cleanup_fields': True, + 'no_new_kappa_claimed': True, 'query_producer_contract_preserved': False, + 'scope': 'Exact ideal clean-J local endpoints only. Final historical query assemblies are partially removed because this local word has no centre consumers. A caller that reads those historical queries cannot substitute this word without reconstructing and pricing its producer interface. The full caller and rounded induction remain open.'} + (args.out/'RESULT.json').write_text(json.dumps(result, indent=2, sort_keys=True)+'\n') + print(result['status'], flush=True) + + +if __name__ == '__main__': main() diff --git a/research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/full-identity-certificates/THREE-base-FULL-IDENTITY-CANONICAL.json.gz b/research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/full-identity-certificates/THREE-base-FULL-IDENTITY-CANONICAL.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..4a8c4ed26e53a72362d571c972e65aff546be784 GIT binary patch literal 82793 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

du*gRL+ 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%0ATBL^k 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 literal 0 HcmV?d00001 diff --git a/research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/full-identity-certificates/THREE-base-FULL-IDENTITY-NATIVE.json.gz b/research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/full-identity-certificates/THREE-base-FULL-IDENTITY-NATIVE.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..b46d44c6ee624968dd57be928b0c15d9d45f3b2c GIT binary patch literal 198063 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�T8)t@c9s$!n^02c| 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≪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 F{{d=+q^JM@ literal 0 HcmV?d00001 diff --git a/research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/native_extensions.py b/research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/native_extensions.py new file mode 100644 index 0000000000..7f84894efc --- /dev/null +++ b/research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/native_extensions.py @@ -0,0 +1,233 @@ +#!/usr/bin/env python3 +"""Native embedded query logger and common-frame H conjugation contacts. + +Apache-2.0. Substantial OpenAI assistance. These are fresh constructions with +explicit arbitrary-input endpoints. An embedded cache output is not claimed +as an independent clean helper output until a whole caller erases its defect. +""" +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path +import argparse +import sys + +sys.dont_write_bytecode = True +HERE = Path(__file__).resolve().parent +sys.path.insert(0, str(HERE)) +import rebuild_native as N +import power_two_balance as B + +B_SHA = '76929bb3887911ccf100c4593574b8a1c82ee64e96f939a8aca196869438b424' + + +def common_frame_h(geo, offset, frame): + """H = diag(I,-I) S_L S_-K S_L, with all shear ADDs having coefficient ±1. + + Balancing only the eight selected coordinates avoids scaling104 ordinary + coordinates. No private field and no recursive transport are introduced. + Precondition: ALL112 physical fields share the stated actual frame gauge. + """ + A = geo['selected'] + out = [['phase', 'fresh_common_frame_H']] + def scale(n, d): + out.extend(N.scalar(['scale', ['L', offset+a], n, d], frame) for a in A) + def left(): + for k, a in enumerate(A): + for u, value in sorted(geo['L'][k].items()): + coefficient = 2*value + N.need(abs(coefficient) == 1, 'Balanced unit L coefficients') + out.append(N.scalar(['add', ['L', offset+a], ['L', offset+u], int(coefficient), 1], frame)) + scale(2, 1); left(); scale(1, 4) + for k, a in enumerate(A): + for u, value in sorted(geo['L'][k].items()): + coefficient = -2*value + out.append(N.scalar(['add', ['L', offset+u], ['L', offset+a], int(coefficient), 1], frame)) + scale(4, 1); left(); scale(-1, 2) + N.need(B.scalar_sum(out) == 10096, 'Exact common-frame H scalar allowance') + return out + + +def embedded_cache_roles(canonical): + roles = [i for i in range(224, 632) if canonical['start'][i] == 0 and canonical['final'][i] == 1] + N.need(len(roles) == 213, '213 genuinely cold, full-ended native helper roles') + return roles[:8] + + +def embedded_logger_suffix(canonical, geo, roles=None): + roles = embedded_cache_roles(canonical) if roles is None else list(roles) + N.need(len(roles) == len(set(roles)) == 8, 'Eight distinct embedded caches') + N.need(all(224 <= i < 632 and canonical['start'][i] == 0 and canonical['final'][i] == 1 for i in roles), + 'Embedded logger only uses cold full-ended physical helper references') + out = [['phase', 'fresh_embedded_dirty_logger']] + for k, a in enumerate(geo['selected']): + r = roles[k] + out += [N.scalar(['scale', ['L', r], 2, 1], 1), + N.scalar(['add', ['L', r], ['L', a], 2, 1], 1)] + out += [N.scalar(['add', ['L', r], ['L', u], int(2*q), 1], 1) + for u, q in sorted(geo['L'][k].items())] + out.append(N.scalar(['scale', ['L', r], 1, 2], 1)) + N.need(B.scalar_sum(out) == 3440, 'Embedded logger exact scalar bill') + return out + + +def make_embedded_logger(canonical, base_word, geo): + word = B.make_balanced_h(canonical, base_word, geo)['forward'] + return word+embedded_logger_suffix(canonical, geo) + + +def make_wrapped_h(canonical, base_word, geo): + words = B.make_balanced_h(canonical, base_word, geo) + return {direction: common_frame_h(geo, 112, 0)+word+common_frame_h(geo, 0, 1) + for direction, word in words.items()} + + +def literal_replay(v, c, program, backward=False): + """Second literal evaluator for new endpoints; all632 inputs arbitrary. + + This checker has no endpoint-specific shortcut. It applies every scalar + and free-warp event and checks each contact's frame before comparing rows. + """ + rows = {('L', i): v.identity(('L', i)) for i in range(632)} + rows['C', 0] = v.identity(('C', 0)) + current = {('L', i): f for i, f in enumerate(c['start'])}; current['C', 0] = None + spaces = [v.span(frame) for frame in c['frames']] + profile = Counter(); cost = 0; max_l1 = Q(1); witness = None; max_denominator = 1 + for j, event in enumerate(program): + kind = event[0]; touched = None + if kind == 'scalar': + g, frame = event[1:]; target = tuple(g[1]); touched = target + cost += N.primitive_allowance(g) + if g[0] == 'clear': + N.need(target == ('C', 0), 'Only owned C0 can be cleared') + rows[target] = {}; current[target] = frame + else: + N.need(current[target] == frame, 'Exact scalar target frame') + if g[0] in ('add', 'copy'): + source = tuple(g[2]); N.need(current[source] == frame, 'Exact scalar source frame') + if g[0] == 'copy': + N.need(target == ('C', 0), 'Only owned field overwritten by copy') + rows[target] = dict(rows[source]) + else: + N.need(target != source, 'Distinct reversible ADD arguments') + v.add(rows[target], rows[source], Q(g[3], g[4])) + else: + N.need(g[0] == 'scale', 'Known scalar action') + q = Q(g[2], g[3]); rows[target] = {i: q*x for i, x in rows[target].items()} + elif kind == 'warp': + _, r, op, old, new = event; target = tuple(r); touched = target + N.need(current[target] == old, 'Warp input frame') + rows[target] = v.warp(rows[target], op, backward); current[target] = new + elif kind in ('climb', 'center'): + if kind == 'climb': + _, part, i, old, new, rank = event; target = ('L', i) + N.need(spaces[old] < spaces[new], 'Ascending borrowed climb') + else: + _, i, old, new, rank = event; target = ('C', i) + N.need(spaces[old] < spaces[new] or spaces[new] < spaces[old], 'Nested center transport') + N.need(current[target] == old and rank == abs(len(c['frames'][new])-len(c['frames'][old])), 'Paid rank and source frame') + current[target] = new; profile[rank] += 1 + else: + N.need(kind in ('phase', 'adapter', 'residual_adapter'), 'Known inert native marker') + if touched is not None: + norm = sum(map(abs, rows[touched].values()), Q(0)) + if norm > max_l1: + max_l1 = norm; witness = dict(event=j, role=list(touched)) + max_denominator = max(max_denominator, max((x.denominator for x in rows[touched].values()), default=1)) + N.need([current['L', i] for i in range(632)] == c['final'], 'Final native frames') + N.need(not rows['C', 0], 'Owned C0 cleared at return') + return rows, dict(independent_persistent_columns=632, independent_owned_entry_columns=1, + scalar_frames_checked=True, arbitrary_owned_C0_cleared=True, + paid_profile=dict(sorted(profile.items())), paid_rank_mass=sum(k*x for k, x in profile.items()), + real_scalar_allowance=cost, max_formal_prefix_l1=str(max_l1), max_denominator=max_denominator, + l1_witness=witness) + + +def check_rows(v, rows, geo, kind, backward=False, cache_roles=()): + mismatch = [] + for r in range(632): + actual = rows['L', r] + if kind == 'wrapped' and r < 224: + port = r % 112; wanted = {} + for j, q in geo['H'][port].items(): + v.add(wanted, v.identity(('L', (112 if r >= 112 else 0)+j)), q) + if backward and r < 112: + v.add(wanted, v.identity(('L', 112+j)), -q) + if not backward and r >= 112: + v.add(wanted, v.identity(('L', j)), q) + else: + wanted = v.identity(('L', r)) + if 112 <= r < 224: + for j, q in geo['H'][r-112].items(): + v.add(wanted, v.identity(('L', j)), q) + if r in cache_roles: + k = list(cache_roles).index(r) + for j, q in {geo['selected'][k]: Q(1), **geo['L'][k]}.items(): + v.add(wanted, v.identity(('L', j)), q) + if actual != wanted: + mismatch.append(r) + N.need(not mismatch, 'Fresh exact endpoint mismatch '+repr(mismatch[:5])) + + +def check_scalar_h(v, geo): + """Independent112-column execution without native body or Clifford data.""" + rows = {i: {i: Q(1)} for i in range(112)} + program = common_frame_h(geo, 0, 0) + for event in program: + if event[0] != 'scalar': + continue + g = event[1]; target = g[1][1] + if g[0] == 'scale': + q = Q(g[2], g[3]); rows[target] = {i: q*x for i, x in rows[target].items()} + else: + v.add(rows[target], rows[g[2][1]], Q(g[3], g[4])) + N.need(all(rows[i] == geo['H'][i] for i in range(112)), 'Three balanced shears exactly equal H') + return dict(all_columns=112, real_scalar_allowance=B.scalar_sum(program), + additions=sum(e[0] == 'scalar' and e[1][0] == 'add' for e in program), + unit_add_coefficients=True, owned_fields=0, new_recursive_children=0, + required_physical_precondition='All112 fields occupy one actual common frame reference.') + + +def main(): + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--out', type=Path, default=HERE/'extension-certificates') + args = ap.parse_args(); args.out.mkdir(parents=True, exist_ok=True) + N.need(N.digest(HERE/'rebuild_native.py') == B.N_SHA and N.digest(HERE/'power_two_balance.py') == B_SHA, + 'Authenticated fresh prerequisite sources') + p, v, ce, receipt, inherited = N.authenticated(); geo = N.geometry(v.PACKET) + result = dict(schema='fresh-native-helper-log-and-common-frame-conjugation/1', + source_sha256=N.digest(Path(__file__)), reconstruction_source_sha256=B.N_SHA, + balance_source_sha256=B_SHA, scalar_H=check_scalar_h(v, geo), providers={}, no_new_kappa_claimed=True) + for tag in N.TAGS: + c = N.read(N.BASE/(tag+'-CANONICAL.json.gz')); word = N.read(N.BASE/(tag+'-NATIVE-WORD.json.gz')) + base_scalar = B.scalar_sum(word['forward']) + roles = embedded_cache_roles(c); embedded = make_embedded_logger(c, word, geo) + rows, embedded_check = literal_replay(v, c, embedded) + check_rows(v, rows, geo, 'embedded', cache_roles=roles) + N.need(embedded_check['real_scalar_allowance'] == base_scalar+3504+3440, 'Embedded complete scalar invoice') + wrapped = make_wrapped_h(c, word, geo); wrapped_checks = {} + for direction, program in wrapped.items(): + back = direction == 'backward' + rows, checked = literal_replay(v, c, program, back) + check_rows(v, rows, geo, 'wrapped', back) + N.need(checked['real_scalar_allowance'] == base_scalar+3504+2*10096, 'Wrapped H complete scalar invoice') + wrapped_checks[direction] = checked + ep = args.out/(tag+'-EMBEDDED-LOGGER.json.gz'); wp = args.out/(tag+'-SCALAR-WRAPPED-H.json.gz') + result['providers'][tag] = dict( + embedded_logger=dict(artifact=ep.name, sha256=N.save(ep, embedded), check=embedded_check, + cache_roles=roles, exactly_400_other_helpers_restored=True, + cache_output='d_k + X_A[k] + L[k] X_U', extra_children=0, + extra_persistent_fields=0, extra_owned_fields=0, extra_scalar_allowance=3440, + independent_clean_output_credit_for_eight_caches=False), + scalar_wrapped_H=dict(artifact=wp.name, sha256=N.save(wp, wrapped), checks=wrapped_checks, + endpoint='diag(H,H) times the corresponding identity shear in local logical coordinates', + new_recursive_children_beyond_H=0, extra_scalar_allowance=20192, + all_408_helpers_restored=True, + outer_intercall_frame_identification_certified=False)) + N.save(args.out/'RESULT.json', result) + print('PASS extensions', tag, 'embedded0 extra children; wrapped H20192 extra scalars', flush=True) + result['status'] = 'PASS_LOCAL_NATIVE_ENDPOINTS_WITH_EXPLICIT_OUTER_FRAME_OBLIGATION' + N.save(args.out/'RESULT.json', result) + + +if __name__ == '__main__': + main() diff --git a/research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/power_two_balance.py b/research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/power_two_balance.py new file mode 100644 index 0000000000..a55ae0ce78 --- /dev/null +++ b/research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/power_two_balance.py @@ -0,0 +1,130 @@ +#!/usr/bin/env python3 +"""Exact power-of-two balancing of the reconstructed H112 and dirty logger. + +Apache-2.0. Substantial OpenAI assistance. This changes only explicit local +coefficient streams and dyadic unit scales; every recursive child is retained. +The exact arbitrary-input verifier and endpoint-gauge phase receipts are reused +from the separately source-bound reconstruction in rebuild_native.py. +""" +from collections import Counter +from copy import deepcopy +from pathlib import Path +import argparse +import json +import sys + +sys.dont_write_bytecode = True +HERE = Path(__file__).resolve().parent +sys.path.insert(0, str(HERE)) +import rebuild_native as N + +N_SHA = 'f94c527cc02215de49350d477618188c4c0da48bc8fb05b4e37b24c482cad7d5' + + +def make_balanced_h(c, word, geo, exponent=1): + """Assemble 2^e v, transport it, deliver 12/2^e times that field.""" + N.need(isinstance(exponent, int) and -8 <= exponent <= 8, 'Bounded integral balancing exponent') + q = N.Q(2)**exponent + result = N.make_h_word(c, word, geo) + for direction, program in result.items(): + out = []; completion = False + for event in program: + if event[0] == 'phase': + completion = event[1] == 'fresh_H112_completion' + if not completion or event[0] != 'scalar': + out.append(event); continue + op, frame = event[1:] + if op[0] == 'copy' and op[1] == ['C', 0]: + out.append(event) + if q != 1: + out.append(N.scalar(['scale', ['C', 0], q.numerator, q.denominator], frame)) + elif op[0] == 'add': + factor = q if op[1] == ['C', 0] else 1/q + amount = N.Q(op[3], op[4])*factor + out.append(N.scalar(op[:3]+[amount.numerator, amount.denominator], frame)) + else: + out.append(event) + result[direction] = out + return result + + +def make_balanced_logger(c, word, geo, exponent=1): + """Scale arbitrary P by 2^e, add 2^e v, scale back; dirty P is preserved.""" + N.need(isinstance(exponent, int) and -8 <= exponent <= 8, 'Bounded integral balancing exponent') + q = N.Q(2)**exponent + suffix = [['phase', 'fresh_balanced_forward_dirty_logger']] + for k, a in enumerate(geo['selected']): + suffix.append(['cache_child', k, 0, 1, 9]) + if q != 1: + suffix.append(N.scalar(['scale', ['P', k], q.numerator, q.denominator], 1)) + suffix.append(N.scalar(['add', ['P', k], ['L', a], q.numerator, q.denominator], 1)) + for p, coefficient in sorted(geo['L'][k].items()): + x = q*coefficient + suffix.append(N.scalar(['add', ['P', k], ['L', p], x.numerator, x.denominator], 1)) + if q != 1: + suffix.append(N.scalar(['scale', ['P', k], q.denominator, q.numerator], 1)) + return word['forward']+suffix + + +def scalar_sum(program): + return sum(N.primitive_allowance(e[1]) for e in program if e[0] == 'scalar') + + +def main(): + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--out', type=Path, default=HERE/'balanced-certificates') + args = ap.parse_args(); args.out.mkdir(parents=True, exist_ok=True) + N.need(N.digest(HERE/'rebuild_native.py') == N_SHA, 'Pinned fresh reconstruction source') + p, v, ce, receipt, inherited = N.authenticated(); geo = N.geometry(v.PACKET) + result = dict(schema='fresh-native-power-two-balancing/1', source_sha256=N.digest(Path(__file__)), + reconstruction_source_sha256=N_SHA, no_new_kappa_claimed=True, providers={}, + scope='Finite native all-column and phase certificates; full outer recurrence and rounded induction remain separate.') + for tag in N.TAGS: + c = N.read(N.BASE/(tag+'-CANONICAL.json.gz')); word = N.read(N.BASE/(tag+'-NATIVE-WORD.json.gz')) + base_scalar = scalar_sum(word['forward']) + scan = [] + for exponent in range(-4, 5): + hw = make_balanced_h(c, word, geo, exponent) + lw = make_balanced_logger(c, word, geo, exponent) + scan.append(dict(exponent=exponent, H_increment=scalar_sum(hw['forward'])-base_scalar, + logger_increment=scalar_sum(lw)-base_scalar)) + N.need(min(scan, key=lambda r: r['H_increment'])['exponent'] == 1, 'H minimum in scanned power-two family') + N.need(min(scan, key=lambda r: r['logger_increment'])['exponent'] == 1, 'Logger minimum in scanned power-two family') + hw = make_balanced_h(c, word, geo) + hp = Counter({int(k): n for k, n in c['local_profile'].items()}); hp[1] += 8 + checks = {d: N.replay_extended(v, hw[d], c, geo, d == 'backward', expected_profile=hp) + for d in ('forward', 'backward')} + N.need(all(check['real_scalar_allowance']-base_scalar == 3504 for check in checks.values()), 'H increment3504') + phases = N.h_child_recipes(p, ce, c, hw) + lw = make_balanced_logger(c, word, geo) + lp = Counter({int(k): n for k, n in c['local_profile'].items()}); lp[9] += 8 + logger_check = N.replay_extended(v, lw, c, geo, endpoint='logger', cache_count=8, expected_profile=lp) + N.need(logger_check['real_scalar_allowance']-base_scalar == 3440, 'Logger increment3440') + wrong = deepcopy(lw) + omitted = next(i for i, e in enumerate(wrong) if e[0] == 'scalar' and e[1] == ['scale', ['P', 0], 1, 2]) + wrong.pop(omitted) + control = N.replay_extended(v, wrong, c, geo, endpoint='logger', cache_count=8, allow_mismatch=True) + dirty_gain = N.Q(1) + for event in wrong: + if event[0] == 'scalar' and event[1][:2] == ['scale', ['P', 0]]: + dirty_gain *= N.Q(event[1][2], event[1][3]) + N.need(not control['exact_endpoint'] and dirty_gain == 2 and + any(x['role'] == ['P', 0] for x in control['mismatch_examples']), + 'Missing final dirty-cache rescale exposes arbitrary P coefficient error') + hpfile = args.out/(tag+'-BALANCED-H112-NATIVE.json.gz') + lpfile = args.out/(tag+'-BALANCED-FORWARD-LOGGER.json.gz') + result['providers'][tag] = dict(power_two_scan=scan, + H=dict(artifact=hpfile.name, sha256=N.save(hpfile, hw), checks=checks, new_child_recipes=phases, + increment=dict(profile={'1': 8}, real_scalar_allowance=3504, owned_C_fields=1), saved_scalar_allowance=832), + logger=dict(artifact=lpfile.name, sha256=N.save(lpfile, lw), check=logger_check, + increment=dict(profile={'9': 8}, real_scalar_allowance=3440, arbitrary_P_fields=8), saved_scalar_allowance=784, + missing_final_rescale_negative_control=dict(dirty_P0_coefficient=str(dirty_gain), + mismatches=control['mismatch_examples']))) + N.save(args.out/'RESULT.json', result) + print('PASS balanced', tag, 'H8H1+3504; logger8H9+3440', flush=True) + result['status'] = 'PASS_BALANCED_H_BOTH_DIRECTIONS_AND_FORWARD_LOGGER_ALL_FOUR_PROVIDERS' + N.save(args.out/'RESULT.json', result) + + +if __name__ == '__main__': + main() diff --git a/research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/rebuild_native.py b/research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/rebuild_native.py new file mode 100644 index 0000000000..78a7b1b0e6 --- /dev/null +++ b/research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/rebuild_native.py @@ -0,0 +1,453 @@ +#!/usr/bin/env python3 +"""Fresh reconstruction of H112, its dirty logger and helper boundary factors. + +Apache-2.0. Substantial OpenAI assistance. This is newly generated evidence; +it does not recreate or assert the identity of files lost in an earlier session. +The immutable predecessor is the attributed function-composition clean-J word. +Logical sparse replay extends the independently pinned verify_buffers grammar. +Physical lowering uses the attributed exact Clifford compiler and independently +decodes each new recipe, comparing tableau AND the exact zero-state phase. +""" +from collections import Counter +from copy import deepcopy +from fractions import Fraction as Q +from hashlib import sha256 +from pathlib import Path +import argparse +import gzip +import importlib.util +import json +import platform +import sys +import time + +sys.dont_write_bytecode = True +HERE = Path(__file__).resolve().parent +ROOT = HERE.parents[2] +P_PATH = ROOT/'research/kappa-function-composition/complex/prune_native.py' +BASE = P_PATH.parent/'pruned-native' +P_SHA = 'f2b37c183a10922eabc8e0436b426a08866430e96bd0adc7e178951c7fbb5257' +RECEIPT_SHA = 'b62c6c123f43a697802a336ee7178942040c0249c64ebc19cd6aad7ba2728ae7' +CE_SHA = '2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962' +TAGS = ('THREE-base', 'THREE-extra', 'FOUR-base', 'FOUR-extra') +SELECTED = (0, 7, 20, 27, 36, 46, 57, 111) + + +def need(ok, why): + if not ok: + raise ValueError(why) + + +def digest(path): + return sha256(Path(path).read_bytes()).hexdigest() + + +def read(path): + path = Path(path) + raw = path.read_bytes() + return json.loads(gzip.decompress(raw) if path.suffix == '.gz' else raw) + + +def save(path, value): + path = Path(path) + data = json.dumps(value, sort_keys=True, separators=(',', ':')).encode() + path.write_bytes(gzip.compress(data, mtime=0) if path.suffix == '.gz' else data+b'\n') + return digest(path) + + +def load(path, name): + spec = importlib.util.spec_from_file_location(name, path) + obj = importlib.util.module_from_spec(spec) + sys.modules[name] = obj + spec.loader.exec_module(obj) + return obj + + +def authenticated(): + need(digest(P_PATH) == P_SHA, 'Pinned clean-J reconstruction utility') + need(digest(BASE/'RESULT.json') == RECEIPT_SHA, 'Pinned clean-J receipt') + p = load(P_PATH, 'fresh_h112_prune') + need(digest(p.CHECKER) == p.CHECKER_SHA, 'Pinned independent native interpreter') + need(digest(p.CLIFFORD) == CE_SHA, 'Pinned phase compiler') + v = load(p.CHECKER, 'fresh_h112_independent') + inherited = v.authenticate() + ce = load(p.CLIFFORD, 'fresh_h112_clifford') + receipt = read(BASE/'RESULT.json') + for tag in TAGS: + for filename, expected in receipt['providers'][tag]['artifacts'].items(): + need(digest(BASE/filename) == expected, 'Pinned predecessor artifact '+filename) + return p, v, ce, receipt, inherited + + +def geometry(packet): + """Return exact sparse R, L and the freshly checked 112 by 112 H.""" + packet = read(packet) if isinstance(packet, (str, Path)) else packet + R = [{int(k): Q(x) for k, x in row.items()} for row in packet['R_rows']] + ordinary = tuple(i for i in range(112) if i not in SELECTED) + need(len(R) == 8, 'Eight query rows') + dot = lambda a, b: sum((x*b.get(j, Q(0)) for j, x in a.items()), Q(0)) + need(all(dot(a, b) == 56*int(i == j) for i, a in enumerate(R) for j, b in enumerate(R)), 'R R^t = 56 I') + need(all(sum((r.get(a, 0)*r.get(b, 0) for r in R), Q(0)) == 4*int(a == b) + for a in SELECTED for b in SELECTED), 'Selected Gram matrix 4 I') + L = [{p: q for p in ordinary if (q := sum((r.get(a, 0)*r.get(p, 0) for r in R), Q(0))/4)} + for a in SELECTED] + need(all(len(row) == 52 and set(map(abs, row.values())) == {Q(1, 2)} for row in L), '416 half-integral L entries') + need(all(dot(a, b) == 13*int(i == j) for i, a in enumerate(L) for j, b in enumerate(L)), 'L L^t = 13 I') + J = [] + H = [] + for i in range(112): + row = {j: q for j in range(112) + if (q := Q(i == j)-sum((r.get(i, 0)*r.get(j, 0) for r in R), Q(0))/4)} + J.append(row) + changed = dict(row) + if i in SELECTED: + k = SELECTED.index(i) + for j, x in {i: Q(1), **L[k]}.items(): + changed[j] = changed.get(j, Q(0))+12*x + if not changed[j]: + del changed[j] + H.append(changed) + need(all(sum((x*H[k].get(j, 0) for k, x in H[i].items()), Q(0)) == int(i == j) + for i in range(112) for j in range(112)), 'Exact H squared equals identity') + need(any(H[i].get(j, 0) != H[j].get(i, 0) for i in range(112) for j in range(112)), 'H is not symmetric') + return dict(selected=SELECTED, ordinary=ordinary, R=R, L=L, J=J, H=H) + + +def kernel_h(packet): + return geometry(packet)['H'] + + +def scalar(op, frame): + return ['scalar', op, frame] + + +def make_h_word(canonical, base_word, geo): + """Forward suffix and separate backward prefix; H is NOT self-transpose.""" + out = deepcopy(base_word) + for backward in (False, True): + correction = [['phase', 'fresh_H112_completion']] + common = 0 if backward else 1 + source_offset = 112 if backward else 0 + target_offset = 0 if backward else 112 + for k, a in enumerate(geo['selected']): + target_frame = canonical['start'][a] if backward else canonical['final'][112+a] + correction += [scalar(['clear', ['C', 0]], common), + scalar(['copy', ['C', 0], ['L', source_offset+a]], common)] + correction += [scalar(['add', ['C', 0], ['L', source_offset+p], q.numerator, q.denominator], common) + for p, q in sorted(geo['L'][k].items())] + correction += [['center', 0, common, target_frame, 1], + scalar(['add', ['L', target_offset+a], ['C', 0], -12 if backward else 12, 1], target_frame), + scalar(['clear', ['C', 0]], target_frame)] + name = 'backward' if backward else 'forward' + out[name] = correction+out[name] if backward else out[name]+correction + return out + + +def make_logger_word(canonical, base_word, geo): + """Eight arbitrary cache fields; the caller owns their dirty baselines.""" + suffix = [['phase', 'fresh_forward_dirty_query_logger']] + for k, a in enumerate(geo['selected']): + suffix += [['cache_child', k, 0, 1, 9], scalar(['add', ['P', k], ['L', a], 1, 1], 1)] + suffix += [scalar(['add', ['P', k], ['L', p], q.numerator, q.denominator], 1) + for p, q in sorted(geo['L'][k].items())] + return base_word['forward']+suffix + + +def primitive_allowance(op): + if op[0] in ('clear', 'copy'): + return 2 + q = Q(op[3], op[4]) if op[0] == 'add' else Q(op[2], op[3]) + n, d = abs(q.numerator), q.denominator + need(n and not d & (d-1), 'Nonzero dyadic scalar') + if op[0] == 'scale': + need(not n & (n-1), 'Dyadic unit SCALE') + return 2*(abs(n.bit_length()-d.bit_length())+int(q < 0)) + need(op[0] == 'add', 'Known scalar macro') + return 2*(3+n.bit_length()-1+n.bit_count()+d.bit_length()-1) + + +def replay_extended(v, program, canonical, geo, backward=False, endpoint='H', cache_count=0, + expected_profile=None, allow_mismatch=False): + """Literal exact all-column native replay, including arbitrary C at entry. + + Transports change canonical coordinate tags and retain logical row values; + separate phase receipts implement the exact physical coordinate change. + Warp words remain free noncommuting symbols, including dual orientation. + """ + need(endpoint in ('H', 'J', 'logger'), 'Known endpoint') + n = len(canonical['start']) + need(n == 632, '632 persistent predecessor roles') + rows = {('L', i): v.identity(('L', i)) for i in range(n)} + current = {('L', i): f for i, f in enumerate(canonical['start'])} + centers = {e[1] for e in program if e[0] == 'center'} + centers |= {r[1] for e in program if e[0] == 'scalar' + for r in (e[1][1:3] if e[1][0] in ('add', 'copy') else e[1][1:2]) + if r[0] == 'C'} + need(centers <= {0}, 'Only one owned completion field') + for i in centers: + rows['C', i] = v.identity(('C', i)); current['C', i] = None + for i in range(cache_count): + rows['P', i] = v.identity(('P', i)); current['P', i] = 0 + spaces = [v.span(vectors) for vectors in canonical['frames']] + dimensions = [len(s).bit_length()-1 for s in spaces] + profile = Counter(); counts = Counter(); scalar_cost = 0 + max_l1 = Q(1); max_coefficient = Q(1); max_numerator = 1; max_denominator = 1 + witness = {'event': -1, 'role': ['L', 0]} + for i, e in enumerate(program): + kind = e[0]; counts[kind] += 1; touched = None + if kind in ('climb', 'center', 'cache_child'): + if kind == 'climb': + _, part, j, old, new, rank = e; role = ('L', j) + need(spaces[old] < spaces[new], 'Strict ascending borrowed climb') + else: + _, j, old, new, rank = e + role = ('C' if kind == 'center' else 'P', j) + need(spaces[old] < spaces[new] or spaces[new] < spaces[old], 'Nested transport') + need(current[role] == old and rank == abs(dimensions[new]-dimensions[old]), 'Transport frame and exact rank') + current[role] = new; profile[rank] += 1 + elif kind == 'warp': + _, r, op, old, new = e; role = tuple(r) + need(current[role] == old, 'Warp source frame') + rows[role] = v.warp(rows[role], op, backward); current[role] = new; touched = role + elif kind == 'scalar': + op, frame = e[1:]; role = tuple(op[1]); touched = role + scalar_cost += primitive_allowance(op) + if op[0] == 'clear': + need(role[0] == 'C', 'No clearing arbitrary persistent inputs') + rows[role] = {}; current[role] = frame + else: + need(current[role] == frame, 'Scalar target frame at event '+str(i)) + if op[0] in ('add', 'copy'): + source = tuple(op[2]); need(current[source] == frame, 'Scalar source frame at event '+str(i)) + if op[0] == 'copy': + need(role[0] == 'C', 'Copy targets owned field') + rows[role] = dict(rows[source]) + else: + need(role != source, 'Reversible ADD distinct registers') + v.add(rows[role], rows[source], Q(op[3], op[4])) + else: + q = Q(op[2], op[3]); rows[role] = {k: q*x for k, x in rows[role].items()} + else: + need(kind in ('phase', 'adapter', 'residual_adapter'), 'Unsupported event '+kind) + if touched is not None: + values = [abs(x) for x in rows[touched].values()] + norm = sum(values, Q(0)) + if norm > max_l1: + max_l1 = norm; witness = {'event': i, 'role': list(touched)} + if values: + max_coefficient = max(max_coefficient, max(values)) + max_numerator = max(max_numerator, max(x.numerator for x in values)) + max_denominator = max(max_denominator, max(x.denominator for x in values)) + need([current['L', i] for i in range(n)] == canonical['final'], 'Exact final native frames') + need(all(current['P', i] == 1 for i in range(cache_count)), 'Logger cache terminal frame') + if expected_profile is not None: + need(dict(profile) == {int(k): x for k, x in expected_profile.items()}, 'Complete profile binding') + mismatch = [] + matrix = geo['H'] if endpoint == 'H' else geo['J'] + for role, actual in rows.items(): + wanted = {} if role[0] == 'C' else v.identity(role) + if role[0] == 'L': + port = role[1] if backward else role[1]-112 + if 0 <= port < 112: + offset, sign = (112, -1) if backward else (0, 1) + for j, q in matrix[port].items(): + v.add(wanted, v.identity(('L', offset+j)), sign*q) + elif role[0] == 'P': + need(endpoint == 'logger' and not backward, 'Only forward logger cache contract') + k = role[1] + for j, q in {geo['selected'][k]: Q(1), **geo['L'][k]}.items(): + v.add(wanted, v.identity(('L', j)), q) + if actual != wanted: + differences = {k: actual.get(k, Q(0))-wanted.get(k, Q(0)) for k in actual.keys() | wanted.keys()} + differences = {k: x for k, x in differences.items() if x} + first = min(differences) + mismatch.append({'role': list(role), 'unequal_coefficients': len(differences), + 'first_input': list(first[0]), 'first_word': list(first[1]), + 'first_coefficient': str(differences[first])}) + if not allow_mismatch: + need(not mismatch, 'Endpoint mismatch: '+repr(mismatch[:3])) + return dict(direction='backward' if backward else 'forward', endpoint=endpoint, + independent_persistent_input_fields=n+cache_count, + independently_initialized_owned_C_fields=len(centers), owned_C_fields_zero_at_exit=all(not rows['C', i] for i in centers), + all_408_helpers_exactly_restored_in_logical_coordinates=all(rows['L', i] == v.identity(('L', i)) for i in range(224, 632)), + all_scalar_frames_checked=True, all_new_coefficients_dyadic=True, + event_counts=dict(counts), paid_profile=dict(sorted(profile.items())), + paid_rank_mass=sum(k*x for k, x in profile.items()), real_scalar_allowance=scalar_cost, + prefix=dict(max_formal_row_l1=str(max_l1), max_abs_coefficient=str(max_coefficient), + max_abs_numerator=max_numerator, max_denominator=max_denominator, l1_witness=witness, + scope='Exact logical ideal prefixes; no rounded recursive error bound.'), + exact_endpoint=not mismatch, mismatch_examples=mismatch[:3]) + + +def lower_exact(p, ce, op): + recipe, _ = ce.lower_child(op) + left = p.monomial(ce, recipe['left'], op.n) + if recipe['rank']: + right = p.monomial(ce, recipe['right'], op.n) + decoded = right.then(ce.fourier(op.n, range(recipe['rank']))).then(left) + else: + decoded = left + need(decoded.tab == op.tab and decoded.zero_state() == op.zero_state(), 'Independent recipe decode including absolute phase') + return recipe + + +def normal_form(p, ce, op, rank): + recipe = lower_exact(p, ce, op) + need(recipe['rank'] == rank, 'Physical rank equals promised helper width') + left = p.monomial(ce, recipe['left'], 9) + right = p.monomial(ce, recipe['right'], 9) + pre = right.adjoint(); post = left.adjoint() + pre_recipe = lower_exact(p, ce, pre); post_recipe = lower_exact(p, ce, post) + need(pre_recipe['rank'] == post_recipe['rank'] == 0, 'Free boundary wrappers') + wrapped = pre.then(op).then(post); target = ce.fourier(9, range(rank)) + need(wrapped.tab == target.tab and wrapped.zero_state() == target.zero_state(), 'Helper boundary is exact standard Fourier including phase') + return dict(rank=rank, factorization=recipe, outer_pre_monomial=pre_recipe['left'], + outer_post_monomial=post_recipe['left'], exact_tableau_and_global_phase=True) + + +def helper_normal_forms(p, ce, canonical, cache=None): + """Certify every helper, with explicit inherited and fresh outer wrappers. + + Bare residual is F_end F_start^-1. The retained residual_adapter convention + already maps it to C_width in forward, and conjugate(C_width) in backward. + New outer normalizers below act at the WHOLE invocation boundaries. They + require no change to internal frames, helper reads, or scalar event order. + """ + cache = {} if cache is None else cache + rows = []; widths = Counter() + for role in range(224, 632): + start, end = canonical['start'][role], canonical['final'][role] + A, B = canonical['frames'][start], canonical['frames'][end] + rank = len(B)-len(A) + need(0 < rank <= 9, 'Positive productive helper width') + key = (tuple(A), tuple(B)) + if key not in cache: + physical = ce.canonical_frame(9, A).adjoint().then(ce.canonical_frame(9, B)) + inherited = lower_exact(p, ce, physical) + need(inherited['rank'] == rank, 'Native helper residual rank') + lm = p.monomial(ce, inherited['left'], 9) + rm = p.monomial(ce, inherited['right'], 9) + directions = {} + for backward in (False, True): + name = 'backward' if backward else 'forward' + op = p.conjugate(ce, physical) if backward else physical + l = p.conjugate(ce, lm) if backward else lm + r = p.conjugate(ce, rm) if backward else rm + native = r.adjoint().then(op).then(l.adjoint()) + target = ce.fourier(9, range(rank)) + if backward: + target = p.conjugate(ce, target) + need(native.tab == target.tab and native.zero_state() == target.zero_state(), 'Inherited oriented native helper boundary') + directions[name] = dict(bare_residual_normal_form=normal_form(p, ce, op, rank), + inherited_native_target='conjugate(C_width)' if backward else 'C_width', + existing_native_boundary_normal_form=normal_form(p, ce, native, rank)) + cache[key] = dict(start_basis=A, end_basis=B, inherited_forward_factorization=inherited, directions=directions) + rows.append(dict(role=role, start_frame=start, end_frame=end, width=rank, certificate=cache[key])) + widths[rank] += 1 + expected = {5: 28, 6: 18, 7: 56, 8: 93, 9: 213} if widths[7] == 56 else {5: 28, 6: 18, 7: 57, 8: 92, 9: 213} + need(dict(widths) == expected, 'Exact all-helper productive width profile') + return dict(status='PASS_ALL_408_HELPERS_BOTH_ORIENTATIONS_WITH_ABSOLUTE_PHASE', + count=len(rows), widths=dict(sorted(widths.items())), total_width=sum(k*x for k, x in widths.items()), + recipes=rows, unique_frame_pairs=len({(r['start_frame'], r['end_frame']) for r in rows}), + scope='Native ideal helper block and free boundary adapters only; productive outer ownership and full recursive bill are separate obligations.') + + +def h_child_recipes(p, ce, canonical, words): + result = {} + for direction, program in words.items(): + rows = [] + for i, e in enumerate(program): + if e[0] != 'center': + continue + _, role, old, new, rank = e + # These corrections occur OUTSIDE the inherited data adapters. + # The physical endpoint references are the original port gates, + # not the monomial-equivalent canonical representatives. Using a + # bare canonical_frame here would leave an uncharged/missing phase + # adapter on the scalar contact despite a correct logical replay. + k = len(rows); port_index = SELECTED[k]; q = canonical['ports'][port_index] + if direction == 'forward': + source = ce.fourier(9) + target = ce.cgate(9, q).adjoint().then(ce.fourier(9)) + else: + source = ce.ident(9) + target = p.conjugate(ce, ce.cgate(9, q)) + op = source.adjoint().then(target) + recipe = lower_exact(p, ce, op) + need(recipe['rank'] == rank == 1, 'Completion child rank one') + direct = ce.cgate(9, q).adjoint() + need(op.tab == direct.tab and op.zero_state() == direct.zero_state(), 'External completion is exact inverse port gate') + rows.append(dict(event=i, selected_port=port_index, port_vector=q, + source_frame=old, target_frame=new, recipe=recipe, + physical_reference='original external endpoint gauge; inherited adapters already outside the contact', + exact_inverse_port_gate_including_phase=True)) + need(len(rows) == 8, 'Exactly eight completion children') + result[direction] = rows + return result + + +def main(): + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--out', type=Path, default=HERE/'fresh-certificates') + ap.add_argument('--stage', choices=('helpers', 'H', 'logger', 'all'), default='all') + ap.add_argument('--tags', nargs='+', choices=TAGS, default=list(TAGS)) + args = ap.parse_args(); args.out.mkdir(parents=True, exist_ok=True) + p, v, ce, receipt, inherited = authenticated() + geo = geometry(v.PACKET) + run = dict(schema='fresh-native-H112-reconstruction/1', reconstructed_after_loss=True, + source_sha256=digest(Path(__file__)), predecessor_receipt_sha256=RECEIPT_SHA, + predecessor_generator_sha256=P_SHA, independent_interpreter_sha256=p.CHECKER_SHA, + clifford_compiler_sha256=CE_SHA, packet_sha256=digest(v.PACKET), + geometry=dict(selected=list(SELECTED), ordinary_count=104, L_nonzeros=416, H_squared_identity=True, + H_not_symmetric=True, divisions_by_odd_numbers=0), + environment=dict(python=sys.version, platform=platform.platform()), + no_new_kappa_claimed=True, providers={}) + phase_cache = {} + for tag in args.tags: + started = time.monotonic() + c = read(BASE/(tag+'-CANONICAL.json.gz')); word = read(BASE/(tag+'-NATIVE-WORD.json.gz')) + row = dict(predecessor_artifacts=receipt['providers'][tag]['artifacts']) + if args.stage in ('helpers', 'all'): + helpers = helper_normal_forms(p, ce, c, phase_cache) + path = args.out/(tag+'-HELPER-BOUNDARIES.json.gz') + row['helper_boundaries'] = dict(artifact=path.name, sha256=save(path, helpers), widths=helpers['widths'], + total_width=helpers['total_width'], count=408) + print('PASS helpers', tag, helpers['widths'], flush=True) + if args.stage in ('H', 'all'): + hw = make_h_word(c, word, geo); expected_profile = Counter({int(k): x for k, x in c['local_profile'].items()}); expected_profile[1] += 8 + checks = {d: replay_extended(v, hw[d], c, geo, d == 'backward', expected_profile=expected_profile) for d in ('forward', 'backward')} + phases = h_child_recipes(p, ce, c, hw) + baseline_scalar = receipt['providers'][tag]['checks']['forward']['independent_literal_replay']['conservative_real_scalar_primitive_allowance'] + need(all(check['real_scalar_allowance']-baseline_scalar == 4336 for check in checks.values()), 'Exact 4336 scalar increment') + broken = deepcopy(hw['forward']) + omitted = next(i for i, e in enumerate(broken) if e[0] == 'scalar' and e[1][:2] == ['add', ['L', 112+SELECTED[0]]] and e[1][2] == ['C', 0]) + broken.pop(omitted) + negative = replay_extended(v, broken, c, geo, allow_mismatch=True) + need(not negative['exact_endpoint'], 'Missing completion negative control rejected') + path = args.out/(tag+'-H112-NATIVE.json.gz') + row['H112'] = dict(artifact=path.name, sha256=save(path, hw), checks=checks, new_child_recipes=phases, + increment=dict(profile={'1': 8}, real_scalar_allowance=4336, owned_C_fields=1, persistent_fields=0), + omitted_completion_negative_control=negative['mismatch_examples']) + print('PASS H112', tag, '8 H1 + 4336; both directions', flush=True) + if args.stage in ('logger', 'all'): + lw = make_logger_word(c, word, geo) + profile = Counter({int(k): x for k, x in c['local_profile'].items()}); profile[9] += 8 + check = replay_extended(v, lw, c, geo, endpoint='logger', cache_count=8, expected_profile=profile) + baseline_scalar = receipt['providers'][tag]['checks']['forward']['independent_literal_replay']['conservative_real_scalar_primitive_allowance'] + need(check['real_scalar_allowance']-baseline_scalar == 4224, 'Exact 4224 scalar logger increment') + op = ce.canonical_frame(9, c['frames'][0]).adjoint().then(ce.canonical_frame(9, c['frames'][1])) + recipe = lower_exact(p, ce, op); need(recipe['rank'] == 9, 'Logger paid rank nine') + path = args.out/(tag+'-FORWARD-LOGGER.json.gz') + row['logger'] = dict(artifact=path.name, sha256=save(path, lw), check=check, cache_child_recipe=recipe, + increment=dict(profile={'9': 8}, real_scalar_allowance=4224, owned_C_fields=0, arbitrary_cache_fields=8), + cache_restored=False, productive_cache_credit_claimed=False) + print('PASS logger', tag, '8 H9 + 4224', flush=True) + row['seconds'] = time.monotonic()-started + run['providers'][tag] = row + save(args.out/('RESULT-'+args.stage+'.json'), run) + run['status'] = 'PASS_FRESH_RECONSTRUCTION_REQUESTED_STAGES' + save(args.out/('RESULT-'+args.stage+'.json'), run) + + +if __name__ == '__main__': + main() diff --git a/research/hyperplane-retiming/vendor/research/missing-join-frame/PATCH.json b/research/hyperplane-retiming/vendor/research/missing-join-frame/PATCH.json new file mode 100644 index 0000000000..f96d295d40 --- /dev/null +++ b/research/hyperplane-retiming/vendor/research/missing-join-frame/PATCH.json @@ -0,0 +1,24 @@ +{ + "phase": "B", + "ordinal": 480, + "old_frame": 732, + "new_basis": [ + 168, + 336, + 45 + ], + "old_basis": [ + 258, + 133, + 82, + 45 + ], + "incoming_frames": [ + 364, + 360 + ], + "outgoing_frames": [ + 736, + 692 + ] +} diff --git a/research/hyperplane-retiming/vendor/research/t74-native-fast/vendor/native/new/code/borrow/vendor/clifford/clifford_exact.py b/research/hyperplane-retiming/vendor/research/t74-native-fast/vendor/native/new/code/borrow/vendor/clifford/clifford_exact.py new file mode 100644 index 0000000000..166841a037 --- /dev/null +++ b/research/hyperplane-retiming/vendor/research/t74-native-fast/vendor/native/new/code/borrow/vendor/clifford/clifford_exact.py @@ -0,0 +1,149 @@ +"""Small exact Gaussian-dyadic Clifford compiler, independent of gx internals. +Paulis use i^p X^x Z^z. State vectors use integer Gaussian numerators / 2^d. +The tableau is supplemented by a literal circuit, so global phases are kept. +""" +from dataclasses import dataclass + +def parity(x):return x.bit_count()&1 +def rank(rows): + p={} + for x in rows: + while x: + b=x.bit_length()-1 + if b not in p:p[b]=x;break + x^=p[b] + return len(p) +def transpose(rows,n):return tuple(sum(((rows[j]>>i)&1)<>j&1);a[j],a[k]=a[k],a[j] + for i in range(n): + if i!=j and a[i]>>j&1:a[i]^=a[j] + assert [r&((1<>n for r in a) +def basis_extend(cols,n): + out=[] + for x in list(cols)+[1<len(out):out.append(x) + assert len(out)==n + return tuple(out) +def nullspace(rows,n): + a=list(rows);p=[];k=0 + for j in range(n): + t=next((i for i in range(k,len(a)) if a[i]>>j&1),None) + if t is None:continue + a[t],a[k]=a[k],a[t] + for i in range(len(a)): + if i!=k and a[i]>>j&1:a[i]^=a[k] + p.append(j);k+=1 + return tuple((1<>j)&1)<>i&1:out=pmul(out,T[i]) + for i in range(n): + if z>>i&1:out=pmul(out,T[n+i]) + return out +def compose(A,B):return tuple(apply(A,p) for p in B) +def inverse(T): + n=len(T)//2;cols=[x|(z<>n;u,v,p=apply(T,(x,z,0));assert (u,v)==identity(n)[j][:2];out.append((x,z,(-p)%4)) + return tuple(out) +def qvalue(Q,alpha,x,n): + return (sum(alpha[i] for i in range(n) if x>>i&1)+2*sum(parity((Q[i]>>(i+1))&(x>>(i+1))) for i in range(n) if x>>i&1))%4 +def mul_i(a,p): + x,y=a;p%=4 + return [(x,y),(-y,x),(-x,-y),(y,-x)][p] +@dataclass +class Op: + n:int + tab:tuple + circuit:list + def then(self,b): + assert self.n==b.n + return Op(self.n,compose(b.tab,self.tab),self.circuit+b.circuit) + def adjoint(self): + circ=[] + for e in reversed(self.circuit): + if e[0]=='P':circ.append(('P',inv(e[1],self.n))) + elif e[0]=='D':circ.append(('D',e[1],tuple((-x)%4 for x in e[2]))) + elif e[0]=='C':circ.append(('C',e[1],-e[2])) + elif e[0]=='phase':circ.append(('phase',(-e[1])%4)) + else:circ.append(e) + return Op(self.n,inverse(self.tab),circ) + def zero_state(self,basis=0): + N=1<>i)&1 for i in range(n)) + assert all(alpha[i]%2==(Q[i]>>i)&1 for i in range(n)) + return Op(n,tuple([(1<>i&1 else 0,1<>i&1 else 0) for i in range(n)]),[('C',q,sgn)]) +def xgate(n,b):return Op(n,tuple([(1<>i)&1)) for i in range(n)]),[('X',b)]) +def fourier(n,axes=None): + out=ident(n) + for i in range(n) if axes is None else axes:out=out.then(cgate(n,1<len(selected):picks.append(j);selected.append(x) + assert len(picks)==r and all(x>>r==0 for x in Bcols) + Br=transpose(selected,r);Bi=inv(Br,r);Dr=transpose([Dcols[j]&((1< Date: Thu, 22 Oct 2026 10:11:59 -0500 Subject: [PATCH 2/6] Verify native phases and fund conditional kappa 0.00302166 --- .../ARITHMETIC-ORIGINS.json | 92 + research/hyperplane-retiming/ARITHMETIC.json | 235 + research/hyperplane-retiming/PROOF.md | 64 + research/hyperplane-retiming/README.md | 31 +- research/hyperplane-retiming/RESULT.json | 3966 +++++++++++++ research/hyperplane-retiming/SOURCES.json | 119 +- research/hyperplane-retiming/TASK.json | 18 +- research/hyperplane-retiming/VERIFY.json | 39 +- .../hyperplane-retiming/inputs/bit-stock.json | 356 ++ .../inputs/p16-controller.json | 5224 +++++++++++++++++ research/hyperplane-retiming/outer_ledger.py | 240 + research/hyperplane-retiming/price_profile.py | 144 + .../hyperplane-retiming/second_intervals.py | 291 + research/hyperplane-retiming/verify.py | 131 +- 14 files changed, 10925 insertions(+), 25 deletions(-) create mode 100644 research/hyperplane-retiming/ARITHMETIC-ORIGINS.json create mode 100644 research/hyperplane-retiming/ARITHMETIC.json create mode 100644 research/hyperplane-retiming/PROOF.md create mode 100644 research/hyperplane-retiming/RESULT.json create mode 100644 research/hyperplane-retiming/inputs/bit-stock.json create mode 100644 research/hyperplane-retiming/inputs/p16-controller.json create mode 100644 research/hyperplane-retiming/outer_ledger.py create mode 100644 research/hyperplane-retiming/price_profile.py create mode 100644 research/hyperplane-retiming/second_intervals.py diff --git a/research/hyperplane-retiming/ARITHMETIC-ORIGINS.json b/research/hyperplane-retiming/ARITHMETIC-ORIGINS.json new file mode 100644 index 0000000000..d426d4cc66 --- /dev/null +++ b/research/hyperplane-retiming/ARITHMETIC-ORIGINS.json @@ -0,0 +1,92 @@ +[ + { + "path": "vendor/research/missing-join-frame/PATCH.json", + "original_source": "PR4654:dca175fed8ebde8980635fd3b4508b8cba89a1b0:research/native-quotient-interface/v/research/missing-join-frame/PATCH.json", + "sha256": "9ab5328245ff02c9d0be21d39bcc375f50bc5d7909e9f7b9a3a9a6f812f5bd6e" + }, + { + "path": "vendor/research/joint-helper-lattice/native_joint.py", + "original_source": "PR4654:dca175fed8ebde8980635fd3b4508b8cba89a1b0:research/native-quotient-interface/v/research/joint-helper-lattice/native_joint.py", + "sha256": "50869b1bcad7493e6b4cb2a4cd5d2fd9a193a5921100483fa2c3f2c999ddfd46" + }, + { + "path": "vendor/research/joint-helper-lattice/PATCH.json", + "original_source": "PR4654:dca175fed8ebde8980635fd3b4508b8cba89a1b0:research/native-quotient-interface/v/research/joint-helper-lattice/PATCH.json", + "sha256": "296d0e8c58cc70febe042c681ef30d6bb469818c0835fbcaac8aa8d330f5b727" + }, + { + "path": "vendor/research/fresh-helper-boundary/native.py", + "original_source": "PR4654:dca175fed8ebde8980635fd3b4508b8cba89a1b0:research/native-quotient-interface/v/research/fresh-helper-boundary/native.py", + "sha256": "9b55a2d3c3972148fae9d112e745d9244968166bd89bd900c938f429fc76ab29" + }, + { + "path": "vendor/research/fresh-helper-boundary/CHANGES.json", + "original_source": "PR4654:dca175fed8ebde8980635fd3b4508b8cba89a1b0:research/native-quotient-interface/v/research/fresh-helper-boundary/CHANGES.json", + "sha256": "cde73b8ff5b3c0d06e69e2293b991b24fd14a16dd4ccab7ff6b3439074a94624" + }, + { + "path": "vendor/research/t74-native-fast/vendor/native/new/code/borrow/vendor/clifford/clifford_exact.py", + "original_source": "PR4654:dca175fed8ebde8980635fd3b4508b8cba89a1b0:research/native-quotient-interface/v/research/t74-native-fast/vendor/native/new/code/borrow/vendor/clifford/clifford_exact.py", + "sha256": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962" + }, + { + "path": "vendor/research/kappa-rebuild/complex/rebuild_native.py", + "original_source": "PR4654:dca175fed8ebde8980635fd3b4508b8cba89a1b0:research/native-quotient-interface/v/research/kappa-rebuild/complex/rebuild_native.py", + "sha256": "f94c527cc02215de49350d477618188c4c0da48bc8fb05b4e37b24c482cad7d5" + }, + { + "path": "vendor/research/kappa-rebuild/complex/power_two_balance.py", + "original_source": "PR4654:dca175fed8ebde8980635fd3b4508b8cba89a1b0:research/native-quotient-interface/v/research/kappa-rebuild/complex/power_two_balance.py", + "sha256": "76929bb3887911ccf100c4593574b8a1c82ee64e96f939a8aca196869438b424" + }, + { + "path": "vendor/research/kappa-rebuild/complex/native_extensions.py", + "original_source": "PR4654:dca175fed8ebde8980635fd3b4508b8cba89a1b0:research/native-quotient-interface/v/research/kappa-rebuild/complex/native_extensions.py", + "sha256": "50ad007d9c386393657e86c99a96ae0a63a8fbc52872579b185002cc626e88e3" + }, + { + "path": "vendor/research/kappa-rebuild/complex/full-identity-certificates/THREE-base-FULL-IDENTITY-NATIVE.json.gz", + "original_source": "PR4654:dca175fed8ebde8980635fd3b4508b8cba89a1b0:research/native-quotient-interface/v/research/kappa-rebuild/complex/full-identity-certificates/THREE-base-FULL-IDENTITY-NATIVE.json.gz", + "sha256": "c54b0a3e129d28e6dbf74fa731fc3bb70fe3c6705f07256750fbecddcc842d39" + }, + { + "path": "vendor/research/kappa-rebuild/complex/full-identity-certificates/THREE-base-FULL-IDENTITY-CANONICAL.json.gz", + "original_source": "PR4654:dca175fed8ebde8980635fd3b4508b8cba89a1b0:research/native-quotient-interface/v/research/kappa-rebuild/complex/full-identity-certificates/THREE-base-FULL-IDENTITY-CANONICAL.json.gz", + "sha256": "6418ec3da24d548a57f5c3fe5b9062c26c9478e638504a61c387f5cfb5f4ed61" + }, + { + "path": "vendor/research/kappa-function-composition/complex/prune_native.py", + "original_source": "PR4654:dca175fed8ebde8980635fd3b4508b8cba89a1b0:research/native-quotient-interface/v/research/kappa-function-composition/complex/prune_native.py", + "sha256": "f2b37c183a10922eabc8e0436b426a08866430e96bd0adc7e178951c7fbb5257" + }, + { + "path": "vendor/research/kappa-causal-continuation/buffer-borrowing/verify_buffers.py", + "original_source": "PR4654:dca175fed8ebde8980635fd3b4508b8cba89a1b0:research/native-quotient-interface/v/research/kappa-causal-continuation/buffer-borrowing/verify_buffers.py", + "sha256": "106b4d5e052427230df452f0c901d5390a0583782960b80a8af94d9a984022c7" + }, + { + "path": "inputs/pr4610-word.json.gz", + "original_source": "head:1eb8da6cfb35512c0cc2533413e5ca42f48e13c6:research/warp-interface-20261022/ACTUAL-WORD.json.gz", + "sha256": "d578875344095047c383ef513e69b9deb9d99d2b75abe14f7359d06365a924ac" + }, + { + "path": "second_intervals.py", + "original_source": "head:b58ad9ef4d4e861b0eaa5dba41742bdc072dca51:research/kappa-rebuild/architecture/mixed_target_probe.py", + "sha256": "011c3c9d0cf81103dc84d709a0e36793eb7c5ae3f23c85eac27650ef13afa04a" + }, + { + "path": "outer_ledger.py", + "original_source": "head:b58ad9ef4d4e861b0eaa5dba41742bdc072dca51:research/pr4359-p7-padding/dependencies/compiler-refill/endpoint.py", + "sha256": "d097e55f06c3f244f2074ffd7c1a0a5f3c4b4b6a6accf9619d1dde5c0ae85e15" + }, + { + "path": "inputs/bit-stock.json", + "original_source": "head:b58ad9ef4d4e861b0eaa5dba41742bdc072dca51:research/query-thinned-controllers/RESULT.json", + "sha256": "6ebfc8c0f09166f4834e9d7427410cb31aefff2cd4d4ce588c8e52c9c70e9a0f" + }, + { + "path": "inputs/p16-controller.json", + "original_source": "head:b58ad9ef4d4e861b0eaa5dba41742bdc072dca51:research/joint-helper-lattice/CONTROLLER.json", + "sha256": "1f5d6aa267e4e66048818714b5d3b5eae17a58abe91d15deeaa34574f7391a5f" + } +] diff --git a/research/hyperplane-retiming/ARITHMETIC.json b/research/hyperplane-retiming/ARITHMETIC.json new file mode 100644 index 0000000000..270a31e186 --- /dev/null +++ b/research/hyperplane-retiming/ARITHMETIC.json @@ -0,0 +1,235 @@ +{ + "compiler": { + "H": 31385200000000, + "N": "2^31385200000000", + "eta": { + "lower": "0.000000204645541328144521906682", + "upper": "0.000000204645541328144521906683" + }, + "gap": "1/700000000", + "integer_test_exponent": 44836, + "logarithm_power": 1000, + "theta": "63/64", + "uniform_saving": "66099/21875000", + "word_materialized": false + }, + "gain_over_PR4535": "299/200000000", + "kappa": "151083/50000000", + "local_helpers": { + "4": 28, + "7": 5, + "8": 38, + "9": 337 + }, + "local_paid": { + "1": 2183, + "2": 416, + "3": 507, + "4": 135, + "5": 40, + "8": 8 + }, + "margin_at_old_root_upper": [ + "585788693166423330992560151307721906184131152992093961997/1569275433846670190958947355801916604025588861116008628224", + "585788693166423330992560151307721906184131152992150411545/1569275433846670190958947355801916604025588861116008628224" + ], + "native_receipt_sha256": "e45b32249245a827882e2888be45d41732a4e6cfb3ce5240af1b5992743e8e2c", + "negative_controls": { + "closed_epsilon": [ + "epsilon_below_one", + "global_gamma_power_slack", + "actual_logarithmic_gamma_guard", + "source_axis_superpolynomial", + "gaussian_above_main", + "new_semantic_guard_with_C1_one" + ], + "closed_uniform": [ + "new_complex_uniform_saving_above_b" + ], + "old_BIT": [ + "actual_bit_above_effective" + ], + "unfunded_endpoint": [ + "main_transform_above_kappa", + "global_coordinate_router_above_kappa", + "fused_gaussian_above_kappa", + "group_bit_router_above_kappa", + "boundary_algebraic_matrix_above_kappa" + ] + }, + "nonrecursive": { + "local_routes": 4793000, + "local_scalar": 158168, + "raw_scalar_upper": 181098496 + }, + "ordinary_BIT": { + "admitted": "17/5000", + "after_cover": "69/20000", + "atom": "1/250", + "before_cover": "3459/1000000", + "ordinary_saving": "8590884599/2500000000000", + "prime_rule": "odd q > 2^26*N^5 avoiding all fixed denominators and rank witnesses" + }, + "outer": { + "functional_checks": { + "actual_new_BIT_stock_sublinear": "174299999253/175000000000", + "fixed_halo_explicit_metadata_branch": "13475000001/175000000", + "new_BIT_row_stock_sublinear_in_active_group": "697899997009/700000000000", + "new_semantic_group_guard": "3/700000000" + }, + "margins": { + "boundary_algebraic_matrix": "296123239576967/98000000000000000", + "fused_gaussian": "296123238730901/98000000000000000", + "global_coordinate_router": "1057583/350000000", + "group_bit_router": "740308446827251/245000000000000000", + "group_scans": "349999999/350000000", + "main_transform": "296123099576967/98000000000000000", + "microbox_face_corrections": "13475000001/175000000", + "polynomial_products": "699999999/700000000", + "sparse_union_movement": "40108623239576967/98000000000000000" + }, + "parameters": { + "a": "1057583/350000000", + "b": "2115167/700000000", + "beta": "699999997/700000000", + "bit_saving": "17/5000", + "cap_xi": "89108623099576967/98000000000000000", + "complex_uniform_saving": "66099/21875000", + "d": "1/700000000", + "epsilon": "699999999/700000000", + "kappa": "151083/50000000", + "lambda_": "199395667/200000000", + "lambda_prime": "139576967/140000000", + "layout": "1/700000000", + "q": "423033/140000000", + "r0": "1/7000000000", + "stop": "1/700000000", + "tested_saving": "302167/100000000" + }, + "strict_checks": { + "actual_bit_above_effective": "132417/350000000", + "actual_logarithmic_gamma_guard": "1/700000000", + "actual_logarithmic_group_guard": "8891377110423033/49000000000000000", + "alpha_logarithm_absorption": "1/7000000000", + "boundary_algebraic_matrix_above_kappa": "559576967/98000000000000000", + "cap_above_band": "40108623099576967/98000000000000000", + "cap_below_cell": "8891376760423033/98000000000000000", + "cap_below_phase_cell_power": "106891376900423033/98000000000000000", + "complex_above_effective": "1/700000000", + "complex_below_one_over_32": "19759833/700000000", + "complex_endpoint": "1/350000000", + "epsilon_below_one": "1/700000000", + "epsilon_positive": "699999999/700000000", + "fine_prime_halo_umbrella": "7/2", + "fused_gaussian_above_kappa": "558730901/98000000000000000", + "gaussian_above_main": "69576967/49000000000000000", + "global_coordinate_router_above_kappa": "1/175000000", + "global_gamma_power_slack": "9/7000000000", + "group_below_dimension": "1/350000000", + "group_bit_router_above_kappa": "1746827251/245000000000000000", + "group_gauge_power_slack": "8891377103423033/49000000000000000", + "group_key_fits_record": "1/350000000", + "group_positive": "699999997/700000000", + "group_scans_above_kappa": "174471209/175000000", + "halo_covers_generic_inverse_radius": "5", + "improvement_over_user_baseline": "645344790400418148631/500000000000000000000000", + "lambda_above_internal": "1/1400000000", + "lambda_above_sigma": "3/1400000000", + "lambda_above_tau": "1/1400000000", + "lambda_prime_above_lambda": "1/1400000000", + "lambda_prime_above_leaf": "1397884833/490000000000000000", + "leaf_saving_above_effective": "697884833/490000000000000000", + "main_transform_above_kappa": "419576967/98000000000000000", + "membership_arithmetic_fits_record": "1/700000000", + "microbox_face_corrections_above_kappa": "26948942421/350000000", + "microbox_halo_volume": "55300000003/700000000", + "new_complex_uniform_saving_above_b": "1/700000000", + "new_semantic_guard_with_C1_one": "1/700000000", + "polynomial_products_above_kappa": "697884837/700000000", + "positive_layout_slack": "1/700000000", + "q_below_effective": "1/700000000", + "q_below_internal": "1/700000000", + "q_below_leaf": "1397884833/490000000000000000", + "q_positive": "423033/140000000", + "short_record_fallback": "697884833/700000000", + "source_axis_superpolynomial": "1/700000000", + "sparse_union_movement_above_kappa": "39812500559576967/98000000000000000", + "stop_below_one": "699999999/700000000", + "stop_positive": "1/700000000", + "strassen_integer_power_gap": "1951441519231", + "support_router_span": "3/700000000", + "theta_positive_polynomial_power": "2", + "union_header_fits_record": "3/700000000", + "union_tag_work_per_visit_fits_record": "3/700000000" + } + }, + "paid": { + "1": 40974, + "16": 448, + "2": 7488, + "24": 448, + "3": 9126, + "32": 448, + "4": 2430, + "40": 448, + "48": 448, + "5": 720, + "56": 448, + "64": 448, + "72": 224, + "8": 144 + }, + "paid_calls": 64242, + "productive_fields": 10928, + "rank_mass_surplus": 752, + "raw_root_interval": [ + "15108379/5000000000", + "30216759/10000000000" + ], + "scope": "Exact changed-profile arithmetic only. Requires separately admitted changed native programs, paid transports and absolute phases. Retained compiler/native/precision/tape/analytic/recovery assumptions.", + "source_sha256": { + "research/hyperplane-retiming/inputs/bit-stock.json": "6ebfc8c0f09166f4834e9d7427410cb31aefff2cd4d4ce588c8e52c9c70e9a0f", + "research/hyperplane-retiming/inputs/p16-controller.json": "1f5d6aa267e4e66048818714b5d3b5eae17a58abe91d15deeaa34574f7391a5f", + "research/hyperplane-retiming/intervals.py": "0ce7e7137422d5ffeda22085c81fa88471bbe963100fdad62e659f1e3bf89326", + "research/hyperplane-retiming/outer_ledger.py": "d097e55f06c3f244f2074ffd7c1a0a5f3c4b4b6a6accf9619d1dde5c0ae85e15", + "research/hyperplane-retiming/price_profile.py": "9d5ed044b73ceb66cdfe9274a6ea967992801d1968bf480972d7d65a80eda1b8", + "research/hyperplane-retiming/second_intervals.py": "011c3c9d0cf81103dc84d709a0e36793eb7c5ae3f23c85eac27650ef13afa04a", + "research/hyperplane-retiming/verify.py": "05fcec9a922b8e59f20659fd236da02931a8c8253dbf77f06833665c15fa2e47" + }, + "status": "PASS_CHANGED_PROFILE_ARITHMETIC_NATIVE_ADMISSION_SEPARATE", + "strictification": { + "alpha": { + "lower": "0.999999993909848710245136954049", + "upper": "0.999999993909848710245136954050" + }, + "cutoff": 20, + "delta": { + "lower": "0.957350155702134106401205267080", + "upper": "0.957350155702134106401205267081" + }, + "floor": 21, + "gamma": { + "lower": "0.956201848116584865358940150683", + "upper": "0.956201848116584865358940150684" + }, + "normalized_paid_upper": "2097152001953127/2097154147483648", + "power": 1024, + "tail_offset": "1/5", + "tested": "302167/100000000" + }, + "targets": { + "145": 224, + "17": 448, + "25": 448, + "33": 448, + "4": 504, + "41": 448, + "49": 448, + "57": 448, + "65": 448, + "7": 90, + "73": 224, + "8": 684, + "9": 6066 + } +} diff --git a/research/hyperplane-retiming/PROOF.md b/research/hyperplane-retiming/PROOF.md new file mode 100644 index 0000000000..d0d09dd1f3 --- /dev/null +++ b/research/hyperplane-retiming/PROOF.md @@ -0,0 +1,64 @@ +# Coordinated contact frames and the complete invoice + +Prepared by Cinna Davis with substantial OpenAI Codex assistance. Apache-2.0. + +## Exact changed supplier + +The predecessor is Cao Yifan's PR4610, head `1eb8da6cfb35512c0cc2533413e5ca42f48e13c6`. Its emitted actual word, including unchanged native maps and main endpoint adapters, is frozen byte for byte. PR4470 and its credited predecessor chain supply the independent-helper/controller contract. PR4654's chart grammar motivates coordinated changes; its changed seven-axis main interface is not substituted here. + +Let C_U be the retained canonical gauge for binary subspace U. At a shared scalar contact, every operand has the same C_U. A physical transport is exactly C_V C_U^-1. Replace 49 contacts whose original frame is the line with registry ID 114 by the zero frame, and change the 13 helper entrances listed in PATCH.json from the same line to zero. These changes are one coherent connected component of the contact graph. All main endpoints, all helper exits, scalar opcodes/order/coefficients, shared logical native warps, main adapters and owned center instructions stay fixed. + +Gauge telescoping preserves the logical word. The retained exact free-group-algebra replay checks all arbitrary persistent input columns: the logical helper block is identity, its cross blocks to/from the main fields vanish, and the main block is the retained shear. Thus a changed helper entrance does not inject its arbitrary input into a main output. A helper input is interpreted through its actual entrance gauge; it is never assumed prepared or zero. Its productive job is the complete relative operator C_final C_start^-1, with fresh whole-job monomial normalizers, including absolute phase. + +This argument holds at every fiber width: evaluate the unchanged free-group identity in the actual native operators at that width, and tensor each explicitly lowered gauge identity independently over the digit columns. It does not assume tensor powers preserve sums. No missing main chart is quotiented away. The physical centers still cost eight rank-eight calls, using the same owned clear/copy protocol. + +Both retained interpreters reconstruct all 632 arbitrary persistent columns in both orientations. The backward physical operations are checked with their actual conjugate lowerings, rather than inferred from forward rank counts. Every new paid frame pair and all 13 changed helper boundary operators are independently lowered with exact tableaux and zero-state absolute phase. + +## Why coordinated changes are searchable by a minimum cut + +Fix any ambient subspace H and allow each chronological contact or endpoint U to use either U or U intersect H. Write a_U=dim U-dim(U intersect H), and s_U in {0,1} for that choice. Freeze the main and owned-instruction boundary gauges. Keep the original logical native maps, and require each actual warp to remain monomial. + +For an original nested paid edge U contained in V of rank r, the new rank is + + r + a_U s_U - a_V s_V. + +If a_U>0, nesting forces s_V<=s_U. On the three allowed assignments (0,0), (1,0), (1,1), its incremental paid moment is exactly the linear expression + + [f(r+a_U)-f(r)] s_U + + [f(r+a_U-a_V)-f(r+a_U)] s_V, + +where f(r)=r^t and f(0)=0. If a_U=0, only the second switch matters, with incremental cost f(r-a_V)-f(r). A productive helper edge has the negative of this expression, retaining strictly positive productive rank. + +For a fixed logical native warp G:U->V, either both reduced subspaces satisfy G(U intersect H)=V intersect H and the two switches agree, or the nontrivial switches are forbidden. If one endpoint is unchanged by intersection, only the other nontrivial switch is forbidden. These are equality or fixed-zero constraints. + +The total energy is therefore a sum of unary weights with hard binary implications, equalities and fixed values. It is a minimum-weight closure problem and has an s-t cut realization. Algebraic powers need exact enclosures for certified signs; floating min-cut discovery is not an exact optimality certificate. The admitted result is the explicit patch, independently replayed with outward rational arithmetic. + +Zero-length chronological edges must be represented when the search permits them to become paid. Contracting them is a smaller legitimate search family, not the complete contact search. The first successful search used that smaller family. Subsequent exploration permits new paid transitions. No global ceiling or completeness claim is made for these bounded searches. + +The dual construction U -> U+W has the same reduction: interchange the direction of the implications and use the corresponding dimension increments. Higher-dimensional H or W remains a fixed common choice in each minimum-cut instance; this is not optimization over arbitrary unrelated subspaces at every node. + +## Exact complete moment + +The predecessor has + + P_old={1:2201,2:412,3:506,4:135,5:36,8:8} + H_old={4:28,7:7,8:47,9:326}. + +The new supplier has + + P_new={1:2183,2:416,3:507,4:135,5:40,8:8} + H_new={4:28,7:5,8:38,9:337}. + +Both rank masses increase by 13. All 408 helper inputs remain independent and productive, once each. The exact improvement in productive minus paid moment is + + 18 - 4*2^t - 3^t - 4*5^t - 2*7^t - 9*8^t + 11*9^t. + +The verifier proves this positive at t=1-.0030216 and t=1-.004 using rational outward enclosures. It does not infer positivity at every exponent from these two points. + +Insert the supplier into the unchanged p16 controller: 18 full local calls, 15 query-only calls, all retained prefix/suffix idles, and exactly the original main Gaussian targets. The entire rank surplus remains 752. The changed raw characteristic crossing is strictly between .0030216758 and .0030216759. Both signs are outward-rational, and all changed paid/helper terms appear in the invoice. + +## Finite/compiler and outer arithmetic + +price_profile.py is a scoped adaptation of Cao Yifan's PR4610 arithmetic, retaining zxv's moment/completion bounds and Jacob Alan Sussman's integer mixed-job flow. It reads the immutable literal p16 controller, derives the entire invoice, checks a second independently implemented rational power engine, both paid and productive-completion tails, fixed routing/scalar allowances, finite logarithm absorption, ordinary BIT stock, and all 54 strict plus four functional outer predicates. Four unsupported parameter changes are rejected. + +At claimed saving .00302166 the tested moment uses .00302167. The finite integer height and program are represented by explicit bounds; an enormous uniform word is not materialized. These arithmetic checks support a conditional construction under the retained physical/native, finite compiler, precision/tape, analytic and recovery assumptions. They are not independent acceptance of those hypotheses, an unconditional theorem, or a selected-frontier update. No human proof review is claimed. diff --git a/research/hyperplane-retiming/README.md b/research/hyperplane-retiming/README.md index 0aff892138..848529410a 100644 --- a/research/hyperplane-retiming/README.md +++ b/research/hyperplane-retiming/README.md @@ -1,17 +1,32 @@ -# Coordinated hyperplane retiming of the PR4610 supplier +# Coordinated hyperplane retiming improves the native supplier Prepared by Cinna Davis with substantial OpenAI Codex assistance. Apache-2.0. -This candidate changes 49 persistent scalar-contact frames and 13 arbitrary helper entrances together. Both retained literal interpreters pass all 632 arbitrary persistent inputs in both orientations. The main endpoints, scalar opcodes/order/coefficients, shared native maps, eight paid rank-eight centers and owned clear/copy lifetimes remain fixed. +A coordinated change to 49 scalar-contact frames and 13 arbitrary helper entrances improves Cao Yifan's PR4610 supplier. The exact p16 raw crossing increases from about **0.00302155515** to **(0.0030216758, 0.0030216759)**. Fresh native/phase checks and a finite/compiler/outer arithmetic replay support **conditional κ = 0.00302166**, versus PR4610's .00302152 under the retained assumptions. This is a small improvement, not the requested large bottleneck breakthrough. No claim is made to supersede every other pending proposal. -The new local paid census is `{1:2183,2:416,3:507,4:135,5:40,8:8}`. Independent helper jobs are `{4:28,7:5,8:38,9:337}`. The paid and productive rank masses both increase by 13, so the gain is a redistribution under the concave moment, not a larger rank surplus. This is a changed local supplier candidate, not a new multiplication theorem or selected kappa. +The new local paid census is `{1:2183,2:416,3:507,4:135,5:40,8:8}`. Independent helper jobs are `{4:28,7:5,8:38,9:337}`. Both local rank masses increase by 13; the whole p16 rank surplus stays 752. The gain comes from a better distribution under the concave moment, not additional rank surplus. -Full physical phase and exact arithmetic checks are being added. The patch and exact predecessor input are preserved now so this positive result is reviewable. The inherited compiler, native execution, precision/tape, analytic/recovery assumptions remain separate. No independent human review is claimed. +The construction preserves the actual full eight-axis main endpoint, every scalar opcode/order/coefficient, shared native map, eight paid rank-eight centers and owned clear/copy lifetime. Every helper input remains arbitrary. It does not insert the changed seven-axis quotient interface into the old controller. + +## Reproduce + +```sh +python3.12 -B scripts/research_package.py --package research/hyperplane-retiming +python3.12 -I -O -B research/hyperplane-retiming/verify.py +``` + +The package uses only Python's standard library for admission. The optimized caller respawns with inherited assertions enabled. The replay reconstructs both words, checks all 632 arbitrary columns with both retained interpreters, verifies 11 changed paid frame pairs and 13 helper normalizers in both orientations with absolute phase, and proves exact moment/root signs. Wrong paid rank and wrong global phase are rejected. The arithmetic command reruns both rational moment engines, finite tail/completion/compiler bounds, and all 58 outer predicates with four rejecting controls. Frozen native inputs and the minimal source closure are vendored unchanged and authenticated before loading. + +PROOF.md gives the all-fiber gauge-telescoping argument and a new minimum-cut reduction for a fixed common subspace deletion or extension. The original successful cut kept formerly zero paid edges at zero; later searches permit them to become paid. Bounded floating discovery is not trusted for acceptance or claimed as a universal optimum. + +## Evidence boundary + +The selected repository record remains κ=.00302015. The result retains the source physical/native, compiler, precision/tape, analytic and recovery hypotheses. The huge finite uniform word is bounded, not materialized. This is neither an unconditional multiplication theorem nor independent human proof review. The exact receipts are RESULT.json and ARITHMETIC.json; source provenance is in SOURCES.json, ORIGINS.json and ARITHMETIC-ORIGINS.json. ## Open next questions -1. Check every changed physical bridge and helper normalizer with absolute phase. -2. Certify the entire p16 invoice and finite/outer admission. -3. Extend the coordinated search beyond a single common hyperplane to seek a substantial gain. +1. Compound coordinated cuts while allowing new paid transitions, then replay the entire supplier. +2. Change native maps together with the common subspace; fixed-map searches can miss profitable invariant planes. +3. Find a center or controller change that materially improves the rank surplus rather than only redistributing it. -Credit Cao Yifan's #4610 changed-map supplier, Cinna Davis's #4470 lineage, Dugongue's #4654 chart grammar, zxv, Jacob Alan Sussman and all retained scalar/native/Clifford/compiler sources. Exact input provenance and unchanged vendored notices are in ORIGINS.json. +Credit Cao Yifan's #4610 changed-map supplier, Cinna Davis's #4470 lineage, Dugongue's #4654 chart grammar, zxv, Jacob Alan Sussman and all retained scalar/native/Clifford/compiler sources. No novelty priority is claimed for classical minimum-cut or binary subspace facts. diff --git a/research/hyperplane-retiming/RESULT.json b/research/hyperplane-retiming/RESULT.json new file mode 100644 index 0000000000..8e37c4e5d3 --- /dev/null +++ b/research/hyperplane-retiming/RESULT.json @@ -0,0 +1,3966 @@ +{ + "changed_contacts": 49, + "changed_helper_entrances": 13, + "changed_helper_phase_normalizers": [ + { + "input": 0, + "output": 1, + "rank": 9, + "recipes": { + "backward": { + "left": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 9, + "right": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 3, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + }, + "forward": { + "left": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 9, + "right": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 511, + "phase": 1, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + } + }, + "role": 472 + }, + { + "input": 0, + "output": 1, + "rank": 9, + "recipes": { + "backward": { + "left": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 9, + "right": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 3, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + }, + "forward": { + "left": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 9, + "right": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 511, + "phase": 1, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + } + }, + "role": 538 + }, + { + "input": 0, + "output": 1, + "rank": 9, + "recipes": { + "backward": { + "left": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 9, + "right": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 3, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + }, + "forward": { + "left": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 9, + "right": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 511, + "phase": 1, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + } + }, + "role": 560 + }, + { + "input": 0, + "output": 285, + "rank": 8, + "recipes": { + "backward": { + "left": { + "linear_Z4": [ + 3, + 3, + 2, + 2, + 3, + 2, + 2, + 2, + 0 + ], + "matrix_rows": [ + 275, + 3, + 4, + 8, + 17, + 1, + 32, + 64, + 128 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 1, + 18, + 0, + 0, + 18, + 0, + 0, + 0, + 0 + ] + }, + "rank": 8, + "right": { + "linear_Z4": [ + 1, + 3, + 2, + 2, + 3, + 0, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 49, + 4, + 8, + 35, + 64, + 128, + 256, + 51 + ], + "offset": 1, + "phase": 1, + "quadratic_rows": [ + 33, + 18, + 0, + 0, + 18, + 1, + 0, + 0, + 0 + ] + } + }, + "forward": { + "left": { + "linear_Z4": [ + 3, + 3, + 2, + 2, + 3, + 2, + 2, + 2, + 0 + ], + "matrix_rows": [ + 275, + 3, + 4, + 8, + 17, + 1, + 32, + 64, + 128 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 1, + 18, + 0, + 0, + 18, + 0, + 0, + 0, + 0 + ] + }, + "rank": 8, + "right": { + "linear_Z4": [ + 1, + 3, + 2, + 2, + 3, + 0, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 49, + 4, + 8, + 35, + 64, + 128, + 256, + 51 + ], + "offset": 237, + "phase": 2, + "quadratic_rows": [ + 33, + 18, + 0, + 0, + 18, + 1, + 0, + 0, + 0 + ] + } + } + }, + "role": 561 + }, + { + "input": 0, + "output": 285, + "rank": 8, + "recipes": { + "backward": { + "left": { + "linear_Z4": [ + 3, + 3, + 2, + 2, + 3, + 2, + 2, + 2, + 0 + ], + "matrix_rows": [ + 275, + 3, + 4, + 8, + 17, + 1, + 32, + 64, + 128 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 1, + 18, + 0, + 0, + 18, + 0, + 0, + 0, + 0 + ] + }, + "rank": 8, + "right": { + "linear_Z4": [ + 1, + 3, + 2, + 2, + 3, + 0, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 49, + 4, + 8, + 35, + 64, + 128, + 256, + 51 + ], + "offset": 1, + "phase": 1, + "quadratic_rows": [ + 33, + 18, + 0, + 0, + 18, + 1, + 0, + 0, + 0 + ] + } + }, + "forward": { + "left": { + "linear_Z4": [ + 3, + 3, + 2, + 2, + 3, + 2, + 2, + 2, + 0 + ], + "matrix_rows": [ + 275, + 3, + 4, + 8, + 17, + 1, + 32, + 64, + 128 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 1, + 18, + 0, + 0, + 18, + 0, + 0, + 0, + 0 + ] + }, + "rank": 8, + "right": { + "linear_Z4": [ + 1, + 3, + 2, + 2, + 3, + 0, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 49, + 4, + 8, + 35, + 64, + 128, + 256, + 51 + ], + "offset": 237, + "phase": 2, + "quadratic_rows": [ + 33, + 18, + 0, + 0, + 18, + 1, + 0, + 0, + 0 + ] + } + } + }, + "role": 584 + }, + { + "input": 0, + "output": 1, + "rank": 9, + "recipes": { + "backward": { + "left": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 9, + "right": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 3, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + }, + "forward": { + "left": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 9, + "right": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 511, + "phase": 1, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + } + }, + "role": 602 + }, + { + "input": 0, + "output": 1, + "rank": 9, + "recipes": { + "backward": { + "left": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 9, + "right": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 3, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + }, + "forward": { + "left": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 9, + "right": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 511, + "phase": 1, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + } + }, + "role": 603 + }, + { + "input": 0, + "output": 1, + "rank": 9, + "recipes": { + "backward": { + "left": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 9, + "right": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 3, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + }, + "forward": { + "left": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 9, + "right": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 511, + "phase": 1, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + } + }, + "role": 604 + }, + { + "input": 0, + "output": 1, + "rank": 9, + "recipes": { + "backward": { + "left": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 9, + "right": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 3, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + }, + "forward": { + "left": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 9, + "right": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 511, + "phase": 1, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + } + }, + "role": 605 + }, + { + "input": 0, + "output": 1, + "rank": 9, + "recipes": { + "backward": { + "left": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 9, + "right": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 3, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + }, + "forward": { + "left": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 9, + "right": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 511, + "phase": 1, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + } + }, + "role": 628 + }, + { + "input": 0, + "output": 1, + "rank": 9, + "recipes": { + "backward": { + "left": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 9, + "right": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 3, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + }, + "forward": { + "left": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 9, + "right": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 511, + "phase": 1, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + } + }, + "role": 629 + }, + { + "input": 0, + "output": 1, + "rank": 9, + "recipes": { + "backward": { + "left": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 9, + "right": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 3, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + }, + "forward": { + "left": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 9, + "right": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 511, + "phase": 1, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + } + }, + "role": 630 + }, + { + "input": 0, + "output": 1, + "rank": 9, + "recipes": { + "backward": { + "left": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 9, + "right": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 3, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + }, + "forward": { + "left": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 9, + "right": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "matrix_rows": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "offset": 511, + "phase": 1, + "quadratic_rows": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + } + }, + "role": 631 + } + ], + "controls": [ + "false_paid_rank_rejected", + "wrong_absolute_phase_rejected" + ], + "helpers": { + "4": 28, + "7": 5, + "8": 38, + "9": 337 + }, + "local_strict_gain": [ + { + "C": "3777/1250000", + "gain_lower": "10409885808734532496791766386292259977292572344482695793/6277101735386680763835789423207666416102355444464034512896" + }, + { + "C": "1/250", + "gain_lower": "14442036510168726553934318812703115069929597232603202131/6277101735386680763835789423207666416102355444464034512896" + } + ], + "native": { + "backward": { + "arbitrary_persistent_columns": 632, + "max_formal_prefix_l1": "169", + "real_scalar_allowance": 158168 + }, + "forward": { + "arbitrary_persistent_columns": 632, + "max_formal_prefix_l1": "457", + "real_scalar_allowance": 158120 + } + }, + "new_kappa": null, + "new_paid_phase_pairs": [ + { + "input": 0, + "output": 311, + "rank": 4, + "recipes": { + "backward": { + "left": { + "linear_Z4": [ + 3, + 3, + 3, + 3, + 0, + 0, + 0, + 0, + 0 + ], + "matrix_rows": [ + 30, + 3, + 45, + 73, + 133, + 8, + 4, + 269, + 13 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 3, + 15, + 6, + 10, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 4, + "right": { + "linear_Z4": [ + 3, + 1, + 3, + 2, + 2, + 1, + 1, + 3, + 2 + ], + "matrix_rows": [ + 510, + 257, + 503, + 495, + 259, + 260, + 328, + 304, + 384 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 27, + 231, + 230, + 337, + 297, + 246, + 238, + 230, + 24 + ] + } + }, + "forward": { + "left": { + "linear_Z4": [ + 3, + 3, + 3, + 3, + 0, + 0, + 0, + 0, + 0 + ], + "matrix_rows": [ + 30, + 3, + 45, + 73, + 133, + 8, + 4, + 269, + 13 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 3, + 15, + 6, + 10, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 4, + "right": { + "linear_Z4": [ + 3, + 1, + 3, + 2, + 2, + 1, + 1, + 3, + 2 + ], + "matrix_rows": [ + 510, + 257, + 503, + 495, + 259, + 260, + 328, + 304, + 384 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 27, + 231, + 230, + 337, + 297, + 246, + 238, + 230, + 24 + ] + } + } + } + }, + { + "input": 0, + "output": 419, + "rank": 2, + "recipes": { + "backward": { + "left": { + "linear_Z4": [ + 2, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "matrix_rows": [ + 6, + 11, + 16, + 32, + 66, + 3, + 128, + 256, + 1 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 2, + "right": { + "linear_Z4": [ + 1, + 0, + 0, + 0, + 1, + 2, + 0, + 0, + 0 + ], + "matrix_rows": [ + 258, + 19, + 289, + 34, + 4, + 8, + 304, + 64, + 128 + ], + "offset": 1, + "phase": 3, + "quadratic_rows": [ + 307, + 305, + 0, + 0, + 307, + 19, + 0, + 0, + 19 + ] + } + }, + "forward": { + "left": { + "linear_Z4": [ + 2, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "matrix_rows": [ + 6, + 11, + 16, + 32, + 66, + 3, + 128, + 256, + 1 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 2, + "right": { + "linear_Z4": [ + 1, + 2, + 0, + 0, + 1, + 2, + 0, + 0, + 0 + ], + "matrix_rows": [ + 258, + 19, + 289, + 34, + 4, + 8, + 304, + 64, + 128 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 307, + 305, + 0, + 0, + 307, + 19, + 0, + 0, + 19 + ] + } + } + } + }, + { + "input": 0, + "output": 421, + "rank": 2, + "recipes": { + "backward": { + "left": { + "linear_Z4": [ + 3, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "matrix_rows": [ + 5, + 9, + 18, + 32, + 65, + 1, + 130, + 256, + 2 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 2, + "right": { + "linear_Z4": [ + 1, + 1, + 1, + 0, + 1, + 2, + 1, + 0, + 2 + ], + "matrix_rows": [ + 19, + 324, + 33, + 34, + 260, + 8, + 48, + 320, + 128 + ], + "offset": 0, + "phase": 2, + "quadratic_rows": [ + 51, + 51, + 68, + 0, + 51, + 19, + 68, + 0, + 0 + ] + } + }, + "forward": { + "left": { + "linear_Z4": [ + 3, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "matrix_rows": [ + 5, + 9, + 18, + 32, + 65, + 1, + 130, + 256, + 2 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 2, + "right": { + "linear_Z4": [ + 1, + 1, + 3, + 0, + 1, + 2, + 3, + 0, + 2 + ], + "matrix_rows": [ + 19, + 324, + 33, + 34, + 260, + 8, + 48, + 320, + 128 + ], + "offset": 2, + "phase": 1, + "quadratic_rows": [ + 51, + 51, + 68, + 0, + 51, + 19, + 68, + 0, + 0 + ] + } + } + } + }, + { + "input": 0, + "output": 540, + "rank": 2, + "recipes": { + "backward": { + "left": { + "linear_Z4": [ + 3, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "matrix_rows": [ + 5, + 9, + 16, + 34, + 65, + 1, + 130, + 2, + 256 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 2, + "right": { + "linear_Z4": [ + 1, + 1, + 0, + 1, + 1, + 2, + 1, + 2, + 0 + ], + "matrix_rows": [ + 19, + 200, + 33, + 34, + 4, + 136, + 48, + 192, + 256 + ], + "offset": 0, + "phase": 2, + "quadratic_rows": [ + 51, + 51, + 0, + 72, + 51, + 19, + 72, + 0, + 0 + ] + } + }, + "forward": { + "left": { + "linear_Z4": [ + 3, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "matrix_rows": [ + 5, + 9, + 16, + 34, + 65, + 1, + 130, + 2, + 256 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 2, + "right": { + "linear_Z4": [ + 1, + 1, + 0, + 3, + 1, + 2, + 3, + 2, + 0 + ], + "matrix_rows": [ + 19, + 200, + 33, + 34, + 4, + 136, + 48, + 192, + 256 + ], + "offset": 2, + "phase": 1, + "quadratic_rows": [ + 51, + 51, + 0, + 72, + 51, + 19, + 72, + 0, + 0 + ] + } + } + } + }, + { + "input": 0, + "output": 541, + "rank": 2, + "recipes": { + "backward": { + "left": { + "linear_Z4": [ + 2, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "matrix_rows": [ + 6, + 10, + 16, + 32, + 67, + 3, + 128, + 1, + 256 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 2, + "right": { + "linear_Z4": [ + 1, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0 + ], + "matrix_rows": [ + 144, + 19, + 161, + 162, + 4, + 8, + 48, + 64, + 256 + ], + "offset": 1, + "phase": 3, + "quadratic_rows": [ + 179, + 179, + 0, + 0, + 163, + 19, + 0, + 19, + 0 + ] + } + }, + "forward": { + "left": { + "linear_Z4": [ + 2, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "matrix_rows": [ + 6, + 10, + 16, + 32, + 67, + 3, + 128, + 1, + 256 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 2, + "right": { + "linear_Z4": [ + 1, + 1, + 0, + 0, + 2, + 2, + 0, + 0, + 0 + ], + "matrix_rows": [ + 144, + 19, + 161, + 162, + 4, + 8, + 48, + 64, + 256 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 179, + 179, + 0, + 0, + 163, + 19, + 0, + 19, + 0 + ] + } + } + } + }, + { + "input": 0, + "output": 617, + "rank": 3, + "recipes": { + "backward": { + "left": { + "linear_Z4": [ + 3, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "matrix_rows": [ + 11, + 17, + 36, + 68, + 129, + 3, + 256, + 4, + 2 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 3, + "right": { + "linear_Z4": [ + 0, + 1, + 1, + 1, + 1, + 2, + 0, + 2, + 0 + ], + "matrix_rows": [ + 19, + 257, + 140, + 33, + 290, + 132, + 136, + 304, + 64 + ], + "offset": 2, + "phase": 2, + "quadratic_rows": [ + 306, + 307, + 12, + 12, + 307, + 19, + 0, + 0, + 19 + ] + } + }, + "forward": { + "left": { + "linear_Z4": [ + 3, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "matrix_rows": [ + 11, + 17, + 36, + 68, + 129, + 3, + 256, + 4, + 2 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 3, + "right": { + "linear_Z4": [ + 2, + 1, + 3, + 3, + 1, + 2, + 0, + 2, + 0 + ], + "matrix_rows": [ + 19, + 257, + 140, + 33, + 290, + 132, + 136, + 304, + 64 + ], + "offset": 4, + "phase": 1, + "quadratic_rows": [ + 306, + 307, + 12, + 12, + 307, + 19, + 0, + 0, + 19 + ] + } + } + } + }, + { + "input": 0, + "output": 632, + "rank": 3, + "recipes": { + "backward": { + "left": { + "linear_Z4": [ + 2, + 2, + 3, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "matrix_rows": [ + 12, + 20, + 32, + 66, + 133, + 5, + 258, + 1, + 2 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 3, + "right": { + "linear_Z4": [ + 1, + 1, + 0, + 1, + 0, + 2, + 1, + 0, + 2 + ], + "matrix_rows": [ + 144, + 328, + 19, + 161, + 162, + 4, + 264, + 48, + 320 + ], + "offset": 1, + "phase": 2, + "quadratic_rows": [ + 179, + 179, + 0, + 72, + 163, + 19, + 72, + 19, + 0 + ] + } + }, + "forward": { + "left": { + "linear_Z4": [ + 2, + 2, + 3, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "matrix_rows": [ + 12, + 20, + 32, + 66, + 133, + 5, + 258, + 1, + 2 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 3, + "right": { + "linear_Z4": [ + 1, + 1, + 0, + 3, + 2, + 2, + 3, + 0, + 2 + ], + "matrix_rows": [ + 144, + 328, + 19, + 161, + 162, + 4, + 264, + 48, + 320 + ], + "offset": 2, + "phase": 1, + "quadratic_rows": [ + 179, + 179, + 0, + 72, + 163, + 19, + 72, + 19, + 0 + ] + } + } + } + }, + { + "input": 0, + "output": 633, + "rank": 3, + "recipes": { + "backward": { + "left": { + "linear_Z4": [ + 2, + 2, + 3, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "matrix_rows": [ + 12, + 20, + 32, + 66, + 133, + 5, + 258, + 2, + 1 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 3, + "right": { + "linear_Z4": [ + 1, + 1, + 0, + 1, + 0, + 2, + 1, + 2, + 0 + ], + "matrix_rows": [ + 272, + 200, + 19, + 289, + 290, + 4, + 136, + 48, + 192 + ], + "offset": 1, + "phase": 2, + "quadratic_rows": [ + 307, + 307, + 0, + 72, + 291, + 19, + 72, + 0, + 19 + ] + } + }, + "forward": { + "left": { + "linear_Z4": [ + 2, + 2, + 3, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "matrix_rows": [ + 12, + 20, + 32, + 66, + 133, + 5, + 258, + 2, + 1 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 3, + "right": { + "linear_Z4": [ + 1, + 1, + 0, + 3, + 2, + 2, + 3, + 2, + 0 + ], + "matrix_rows": [ + 272, + 200, + 19, + 289, + 290, + 4, + 136, + 48, + 192 + ], + "offset": 2, + "phase": 1, + "quadratic_rows": [ + 307, + 307, + 0, + 72, + 291, + 19, + 72, + 0, + 19 + ] + } + } + } + }, + { + "input": 0, + "output": 759, + "rank": 3, + "recipes": { + "backward": { + "left": { + "linear_Z4": [ + 2, + 3, + 3, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "matrix_rows": [ + 10, + 21, + 38, + 70, + 132, + 3, + 1, + 262, + 6 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 6, + 3, + 5, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 3, + "right": { + "linear_Z4": [ + 3, + 0, + 0, + 0, + 1, + 2, + 0, + 0, + 1 + ], + "matrix_rows": [ + 322, + 205, + 222, + 97, + 290, + 260, + 264, + 368, + 384 + ], + "offset": 3, + "phase": 3, + "quadratic_rows": [ + 173, + 188, + 275, + 275, + 446, + 19, + 0, + 275, + 412 + ] + } + }, + "forward": { + "left": { + "linear_Z4": [ + 2, + 3, + 3, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "matrix_rows": [ + 10, + 21, + 38, + 70, + 132, + 3, + 1, + 262, + 6 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 6, + 3, + 5, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 3, + "right": { + "linear_Z4": [ + 3, + 2, + 0, + 0, + 1, + 2, + 0, + 0, + 3 + ], + "matrix_rows": [ + 322, + 205, + 222, + 97, + 290, + 260, + 264, + 368, + 384 + ], + "offset": 2, + "phase": 1, + "quadratic_rows": [ + 173, + 188, + 275, + 275, + 446, + 19, + 0, + 275, + 412 + ] + } + } + } + }, + { + "input": 0, + "output": 821, + "rank": 3, + "recipes": { + "backward": { + "left": { + "linear_Z4": [ + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "matrix_rows": [ + 9, + 18, + 35, + 68, + 2, + 1, + 128, + 260, + 4 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 3, + "right": { + "linear_Z4": [ + 1, + 1, + 2, + 1, + 3, + 3, + 0, + 1, + 2 + ], + "matrix_rows": [ + 53, + 54, + 392, + 33, + 18, + 52, + 264, + 64, + 384 + ], + "offset": 0, + "phase": 1, + "quadratic_rows": [ + 21, + 38, + 51, + 136, + 53, + 54, + 0, + 136, + 0 + ] + } + }, + "forward": { + "left": { + "linear_Z4": [ + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "matrix_rows": [ + 9, + 18, + 35, + 68, + 2, + 1, + 128, + 260, + 4 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "rank": 3, + "right": { + "linear_Z4": [ + 3, + 3, + 2, + 3, + 1, + 1, + 0, + 3, + 2 + ], + "matrix_rows": [ + 53, + 54, + 392, + 33, + 18, + 52, + 264, + 64, + 384 + ], + "offset": 7, + "phase": 3, + "quadratic_rows": [ + 21, + 38, + 51, + 136, + 53, + 54, + 0, + 136, + 0 + ] + } + } + } + }, + { + "input": 0, + "output": 1551, + "rank": 5, + "recipes": { + "backward": { + "left": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 3, + 0, + 0, + 0, + 0 + ], + "matrix_rows": [ + 54, + 69, + 131, + 8, + 17, + 2, + 4, + 263, + 7 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 22, + 21, + 19, + 0, + 23, + 0, + 0, + 0, + 0 + ] + }, + "rank": 5, + "right": { + "linear_Z4": [ + 3, + 2, + 2, + 2, + 1, + 1, + 1, + 3, + 2 + ], + "matrix_rows": [ + 246, + 245, + 243, + 8, + 257, + 273, + 290, + 324, + 384 + ], + "offset": 0, + "phase": 3, + "quadratic_rows": [ + 23, + 293, + 323, + 0, + 497, + 498, + 500, + 496, + 246 + ] + } + }, + "forward": { + "left": { + "linear_Z4": [ + 2, + 2, + 2, + 2, + 3, + 0, + 0, + 0, + 0 + ], + "matrix_rows": [ + 54, + 69, + 131, + 8, + 17, + 2, + 4, + 263, + 7 + ], + "offset": 0, + "phase": 0, + "quadratic_rows": [ + 22, + 21, + 19, + 0, + 23, + 0, + 0, + 0, + 0 + ] + }, + "rank": 5, + "right": { + "linear_Z4": [ + 3, + 2, + 2, + 2, + 3, + 3, + 3, + 1, + 0 + ], + "matrix_rows": [ + 246, + 245, + 243, + 8, + 257, + 273, + 290, + 324, + 384 + ], + "offset": 15, + "phase": 0, + "quadratic_rows": [ + 23, + 293, + 323, + 0, + 497, + 498, + 500, + 496, + 246 + ] + } + } + } + } + ], + "paid": { + "1": 2183, + "2": 416, + "3": 507, + "4": 135, + "5": 40, + "8": 8 + }, + "rank_surplus": 752, + "raw_crossing": [ + "15108379/5000000000", + "30216759/10000000000" + ], + "raw_lower_margin": "40162449197868194034946214437677965030608301414941493/3138550867693340381917894711603833208051177722232017256448", + "raw_upper_margin": "-37431642074523192881100155504251646824397794805723391/3138550867693340381917894711603833208051177722232017256448", + "scope": "Exact local supplier, all-fiber gauge proof, complete p16 raw moment. Finite/compiler, precision and outer admission remain separate.", + "status": "PASS_COORDINATED_HYPERPLANE_NATIVE_PHASE_MOMENT", + "whole_paid": { + "1": 40974, + "2": 7488, + "3": 9126, + "4": 2430, + "5": 720, + "8": 144, + "16": 448, + "24": 448, + "32": 448, + "40": 448, + "48": 448, + "56": 448, + "64": 448, + "72": 224 + }, + "whole_targets": { + "4": 504, + "7": 90, + "8": 684, + "9": 6066, + "17": 448, + "25": 448, + "33": 448, + "41": 448, + "49": 448, + "57": 448, + "65": 448, + "73": 224, + "145": 224 + } +} diff --git a/research/hyperplane-retiming/SOURCES.json b/research/hyperplane-retiming/SOURCES.json index 56e32eba19..a51dc1521d 100644 --- a/research/hyperplane-retiming/SOURCES.json +++ b/research/hyperplane-retiming/SOURCES.json @@ -15,10 +15,123 @@ "sha256": "f7a48bfa2659b88378282a8eee7d9fe52cdf505594124c4d1686b58510fffd72" }, { - "path": "docs/research/current-priorities.md", + "path": "research/hyperplane-retiming/inputs/pr4610-word.json.gz", "usage": "input", - "git_blob": "a87818dafbca574053504ab07ceb7dd5eb805f77", - "sha256": "db049fa3f75bd5345b23b736e51b7e912b39d372040b462c3e82610c482ff0c9" + "pin": "head:b77d279a72fe195a2dc945201a9723f805a451b8:research/hyperplane-retiming/inputs/pr4610-word.json.gz", + "git_blob": "79dad65b9c9bd05956183492090d5439a269fc08", + "sha256": "d578875344095047c383ef513e69b9deb9d99d2b75abe14f7359d06365a924ac" + }, + { + "path": "research/hyperplane-retiming/PATCH.json", + "usage": "input", + "pin": "head:b77d279a72fe195a2dc945201a9723f805a451b8:research/hyperplane-retiming/PATCH.json", + "git_blob": "bdd92a91da79023f019510b85463a06aa2586bf4", + "sha256": "096c50328169dc865c08878fe6d67cc1b8c0415c71bfa1f936079e069a21c147" + }, + { + "path": "research/hyperplane-retiming/intervals.py", + "usage": "input", + "pin": "head:b77d279a72fe195a2dc945201a9723f805a451b8:research/hyperplane-retiming/intervals.py", + "git_blob": "4b24a5096154736ce060474eb8c72dc64c303699", + "sha256": "0ce7e7137422d5ffeda22085c81fa88471bbe963100fdad62e659f1e3bf89326" + }, + { + "path": "research/hyperplane-retiming/ORIGINS.json", + "usage": "input", + "pin": "head:b77d279a72fe195a2dc945201a9723f805a451b8:research/hyperplane-retiming/ORIGINS.json", + "git_blob": "718508db9827c3fa848b9a576dabc66cd4a66395", + "sha256": "e98baa48430d79ed7e7713ace35d79f0e9a975df2e98e1dd11fcb7005404943b" + }, + { + "path": "research/hyperplane-retiming/vendor/research/fresh-helper-boundary/CHANGES.json", + "usage": "input", + "pin": "head:b77d279a72fe195a2dc945201a9723f805a451b8:research/hyperplane-retiming/vendor/research/fresh-helper-boundary/CHANGES.json", + "git_blob": "45744fedd0e28967aa72586048b8bc0c72f419a9", + "sha256": "cde73b8ff5b3c0d06e69e2293b991b24fd14a16dd4ccab7ff6b3439074a94624" + }, + { + "path": "research/hyperplane-retiming/vendor/research/fresh-helper-boundary/native.py", + "usage": "input", + "pin": "head:b77d279a72fe195a2dc945201a9723f805a451b8:research/hyperplane-retiming/vendor/research/fresh-helper-boundary/native.py", + "git_blob": "1b36f6cb5f205c33bf48811e0b1b3621c55e8154", + "sha256": "9b55a2d3c3972148fae9d112e745d9244968166bd89bd900c938f429fc76ab29" + }, + { + "path": "research/hyperplane-retiming/vendor/research/joint-helper-lattice/PATCH.json", + "usage": "input", + "pin": "head:b77d279a72fe195a2dc945201a9723f805a451b8:research/hyperplane-retiming/vendor/research/joint-helper-lattice/PATCH.json", + "git_blob": "51304a6601061ed4e698f910b09135ef109555e3", + "sha256": "296d0e8c58cc70febe042c681ef30d6bb469818c0835fbcaac8aa8d330f5b727" + }, + { + "path": "research/hyperplane-retiming/vendor/research/joint-helper-lattice/native_joint.py", + "usage": "input", + "pin": "head:b77d279a72fe195a2dc945201a9723f805a451b8:research/hyperplane-retiming/vendor/research/joint-helper-lattice/native_joint.py", + "git_blob": "0315f80e2fdef5e0eef13e3e9b8f72066238164d", + "sha256": "50869b1bcad7493e6b4cb2a4cd5d2fd9a193a5921100483fa2c3f2c999ddfd46" + }, + { + "path": "research/hyperplane-retiming/vendor/research/kappa-causal-continuation/buffer-borrowing/verify_buffers.py", + "usage": "input", + "pin": "head:b77d279a72fe195a2dc945201a9723f805a451b8:research/hyperplane-retiming/vendor/research/kappa-causal-continuation/buffer-borrowing/verify_buffers.py", + "git_blob": "5a55034ec9e6185d981e16c28e1e2e455069e2cb", + "sha256": "106b4d5e052427230df452f0c901d5390a0583782960b80a8af94d9a984022c7" + }, + { + "path": "research/hyperplane-retiming/vendor/research/kappa-function-composition/complex/prune_native.py", + "usage": "input", + "pin": "head:b77d279a72fe195a2dc945201a9723f805a451b8:research/hyperplane-retiming/vendor/research/kappa-function-composition/complex/prune_native.py", + "git_blob": "8c3e11b2408fa96eefa3ebe7952d1b11b90b772b", + "sha256": "f2b37c183a10922eabc8e0436b426a08866430e96bd0adc7e178951c7fbb5257" + }, + { + "path": "research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/full-identity-certificates/THREE-base-FULL-IDENTITY-CANONICAL.json.gz", + "usage": "input", + "pin": "head:b77d279a72fe195a2dc945201a9723f805a451b8:research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/full-identity-certificates/THREE-base-FULL-IDENTITY-CANONICAL.json.gz", + "git_blob": "4a8c4ed26e53a72362d571c972e65aff546be784", + "sha256": "6418ec3da24d548a57f5c3fe5b9062c26c9478e638504a61c387f5cfb5f4ed61" + }, + { + "path": "research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/full-identity-certificates/THREE-base-FULL-IDENTITY-NATIVE.json.gz", + "usage": "input", + "pin": "head:b77d279a72fe195a2dc945201a9723f805a451b8:research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/full-identity-certificates/THREE-base-FULL-IDENTITY-NATIVE.json.gz", + "git_blob": "b46d44c6ee624968dd57be928b0c15d9d45f3b2c", + "sha256": "c54b0a3e129d28e6dbf74fa731fc3bb70fe3c6705f07256750fbecddcc842d39" + }, + { + "path": "research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/native_extensions.py", + "usage": "input", + "pin": "head:b77d279a72fe195a2dc945201a9723f805a451b8:research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/native_extensions.py", + "git_blob": "7f84894efc309546a903d314c7ac1473e7f594a8", + "sha256": "50ad007d9c386393657e86c99a96ae0a63a8fbc52872579b185002cc626e88e3" + }, + { + "path": "research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/power_two_balance.py", + "usage": "input", + "pin": "head:b77d279a72fe195a2dc945201a9723f805a451b8:research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/power_two_balance.py", + "git_blob": "a55ae0ce78a1861965f899a82604b276260f636c", + "sha256": "76929bb3887911ccf100c4593574b8a1c82ee64e96f939a8aca196869438b424" + }, + { + "path": "research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/rebuild_native.py", + "usage": "input", + "pin": "head:b77d279a72fe195a2dc945201a9723f805a451b8:research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/rebuild_native.py", + "git_blob": "78a7b1b0e6e43a1347fb361f45c6e0eaff8dd27b", + "sha256": "f94c527cc02215de49350d477618188c4c0da48bc8fb05b4e37b24c482cad7d5" + }, + { + "path": "research/hyperplane-retiming/vendor/research/missing-join-frame/PATCH.json", + "usage": "input", + "pin": "head:b77d279a72fe195a2dc945201a9723f805a451b8:research/hyperplane-retiming/vendor/research/missing-join-frame/PATCH.json", + "git_blob": "f96d295d40014d4dd503f58eb3cdabcbb4b8e101", + "sha256": "9ab5328245ff02c9d0be21d39bcc375f50bc5d7909e9f7b9a3a9a6f812f5bd6e" + }, + { + "path": "research/hyperplane-retiming/vendor/research/t74-native-fast/vendor/native/new/code/borrow/vendor/clifford/clifford_exact.py", + "usage": "input", + "pin": "head:b77d279a72fe195a2dc945201a9723f805a451b8:research/hyperplane-retiming/vendor/research/t74-native-fast/vendor/native/new/code/borrow/vendor/clifford/clifford_exact.py", + "git_blob": "166841a037f069249f6f7f6dedb89248812f59e2", + "sha256": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962" } ] } diff --git a/research/hyperplane-retiming/TASK.json b/research/hyperplane-retiming/TASK.json index 2ee9030dab..8de9605da3 100644 --- a/research/hyperplane-retiming/TASK.json +++ b/research/hyperplane-retiming/TASK.json @@ -74,17 +74,19 @@ "scope_change_reason": "Explicit owner task asks for a much higher kappa. This changes supplier contact and helper gauges using a globally coordinated hyperplane cut, rather than repeating a fixed controller invoice search.", "bottleneck_link": "TODO: explain the causal connection or label this as a side result", "budget_minutes": 60, - "stop_rule": "TODO", + "stop_rule": "Do not promote a discovery objective or raw crossing into a selected or unconditional theorem.", "outcome": "partial", - "evidence": "TODO", + "evidence": "RESULT.json and ARITHMETIC.json: native/phase/all-fiber gauge proof, complete p16 moment, finite/compiler and 58 outer arithmetic conditions.", "author": "Cinna Davis with substantial OpenAI Codex assistance", - "ai_assistance": "TODO: disclose tools used", + "ai_assistance": "Substantial OpenAI Codex assistance for derivation, search, code and verification. No independent human review.", "open_questions": [ { - "question": "TODO", - "why_it_matters": "TODO", - "first_step": "TODO", - "blocked_by": "TODO" + "question": "Can further coordinated moves yield a much larger gain?", + "why_it_matters": "The current improvement changes the distribution but leaves rank surplus 752.", + "first_step": "Allow previously zero bridges to become paid and include joint native-map changes.", + "blocked_by": "No larger admitted candidate yet." } - ] + ], + "question": "Can coordinated common-subspace changes improve the full native supplier while preserving its real main endpoint?", + "success_criterion": "Reconstruct a changed supplier; check all arbitrary columns, physical phases and its complete moment." } diff --git a/research/hyperplane-retiming/VERIFY.json b/research/hyperplane-retiming/VERIFY.json index 3d465c9d14..3f4ee4eae7 100644 --- a/research/hyperplane-retiming/VERIFY.json +++ b/research/hyperplane-retiming/VERIFY.json @@ -1,10 +1,26 @@ { "schema_version": 1, - "status": "draft", + "status": "ready", "python": "3.12", "requirements": [], "inputs": [ - "docs/research/current-priorities.md" + "research/hyperplane-retiming/inputs/pr4610-word.json.gz", + "research/hyperplane-retiming/PATCH.json", + "research/hyperplane-retiming/intervals.py", + "research/hyperplane-retiming/ORIGINS.json", + "research/hyperplane-retiming/vendor/research/fresh-helper-boundary/CHANGES.json", + "research/hyperplane-retiming/vendor/research/fresh-helper-boundary/native.py", + "research/hyperplane-retiming/vendor/research/joint-helper-lattice/PATCH.json", + "research/hyperplane-retiming/vendor/research/joint-helper-lattice/native_joint.py", + "research/hyperplane-retiming/vendor/research/kappa-causal-continuation/buffer-borrowing/verify_buffers.py", + "research/hyperplane-retiming/vendor/research/kappa-function-composition/complex/prune_native.py", + "research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/full-identity-certificates/THREE-base-FULL-IDENTITY-CANONICAL.json.gz", + "research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/full-identity-certificates/THREE-base-FULL-IDENTITY-NATIVE.json.gz", + "research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/native_extensions.py", + "research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/power_two_balance.py", + "research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/rebuild_native.py", + "research/hyperplane-retiming/vendor/research/missing-join-frame/PATCH.json", + "research/hyperplane-retiming/vendor/research/t74-native-fast/vendor/native/new/code/borrow/vendor/clifford/clifford_exact.py" ], "commands": [ { @@ -13,8 +29,23 @@ "-B", "{package}/verify.py" ], - "timeout_seconds": 120, - "checks": "TODO: identity, positive fixture and failure controls" + "timeout_seconds": 180, + "checks": "All 632 arbitrary columns in both orientations, all changed paid/helper Clifford absolute phases, exact complete moment and rank/phase rejection controls" + }, + { + "argv": [ + "{python}", + "-B", + "{package}/price_profile.py", + "--native", + "{package}/RESULT.json", + "--kappa", + ".00302166", + "--out", + "{package}/ARITHMETIC.json" + ], + "timeout_seconds": 180, + "checks": "Two rational moment engines, complete p16 invoice, funded finite compiler and 54 strict plus four functional outer predicates, with four rejection controls" } ] } diff --git a/research/hyperplane-retiming/inputs/bit-stock.json b/research/hyperplane-retiming/inputs/bit-stock.json new file mode 100644 index 0000000000..e0695152c9 --- /dev/null +++ b/research/hyperplane-retiming/inputs/bit-stock.json @@ -0,0 +1,356 @@ +{ + "bit_invoice": { + "main": { + "127": 222, + "15": 444, + "22": 444, + "29": 444, + "36": 444, + "43": 444, + "50": 444, + "57": 444, + "64": 222 + }, + "owned_streams_reused_sequentially": 1, + "paid": { + "1": 25479, + "14": 444, + "2": 24156, + "21": 444, + "28": 444, + "3": 1422, + "35": 444, + "4": 792, + "42": 444, + "49": 444, + "5": 1836, + "56": 444, + "6": 198, + "63": 222, + "7": 342 + }, + "paid_calls": 57555, + "productive_fields": 11454, + "rank_surplus": 753, + "raw_scalar_record_bound": 1000000000, + "targets": { + "127": 222, + "15": 444, + "22": 444, + "29": 444, + "36": 444, + "43": 444, + "50": 444, + "57": 444, + "64": 222, + "8": 7902 + }, + "thick_calls": 18, + "thick_stages": [ + 0, + 1, + 3, + 5, + 7, + 9, + 11, + 13, + 15, + 17, + 19, + 21, + 23, + 25, + 27, + 29, + 31, + 32 + ], + "thin_queries": 1665, + "whole_idle": { + "14": 444, + "21": 444, + "28": 444, + "35": 444, + "42": 444, + "49": 444, + "56": 444, + "63": 222 + } + }, + "bit_strictification": { + "alpha": { + "lower": "0.999995735238059506641600561767", + "upper": "0.999995735238059506641600561768" + }, + "compiler_H0": 3755884544, + "cutoff_base": 17, + "delta": { + "lower": "0.949707924144871179442776557218", + "upper": "0.949707924144871179442776557219" + }, + "gamma": { + "lower": "0.957429821066420278606254392110", + "upper": "0.957429821066420278606254392111" + }, + "normalized_surplus_lower": "68719461047/16845935476736", + "tail_exponent": "1/5", + "target_floor_base": 18, + "tensor_power": 1024, + "tested_saving": "173/50000", + "uniform_H1": 25986965159937, + "uniform_N": "2^25986965159937", + "uniform_saving": "3459/1000000", + "winning_word_materialized": false + }, + "complex_invoice": { + "main": { + "153": 224, + "17": 448, + "25": 448, + "33": 448, + "41": 448, + "49": 448, + "57": 448, + "65": 448, + "73": 448 + }, + "owned_streams_reused_sequentially": 1, + "paid": { + "1": 49045, + "16": 448, + "2": 13547, + "24": 448, + "3": 4256, + "32": 448, + "4": 1938, + "40": 448, + "48": 448, + "5": 380, + "56": 448, + "64": 448, + "72": 448, + "8": 152 + }, + "paid_calls": 72902, + "productive_fields": 11560, + "rank_surplus": 800, + "raw_scalar_record_bound": 1000000000, + "targets": { + "153": 224, + "17": 448, + "25": 448, + "33": 448, + "41": 448, + "49": 448, + "5": 532, + "57": 448, + "6": 342, + "65": 448, + "7": 1064, + "73": 448, + "8": 1767, + "9": 4047 + }, + "thick_calls": 19, + "thick_stages": [ + 0, + 1, + 3, + 5, + 7, + 9, + 11, + 13, + 15, + 17, + 19, + 21, + 23, + 25, + 27, + 29, + 31, + 33, + 34 + ], + "thin_queries": 1792, + "whole_idle": { + "16": 448, + "24": 448, + "32": 448, + "40": 448, + "48": 448, + "56": 448, + "64": 448, + "72": 448 + } + }, + "complex_strictification": { + "alpha": { + "lower": "0.999999952117240859760145478345", + "upper": "0.999999952117240859760145478346" + }, + "compiler_H0": 75415467350, + "cutoff_base": 20, + "delta": { + "lower": "0.941649713484853845388929204840", + "upper": "0.941649713484853845388929204841" + }, + "gamma": { + "lower": "0.967466409565147920980822933859", + "upper": "0.967466409565147920980822933860" + }, + "normalized_surplus_lower": "8589700209/251666829934592", + "tail_exponent": "1/5", + "target_floor_base": 21, + "tensor_power": 1024, + "tested_saving": "29603/10000000", + "uniform_H1": 10418370291022217, + "uniform_N": "2^10418370291022217", + "uniform_saving": "103609/35000000", + "winning_word_materialized": false + }, + "kappa": "37/12500", + "minimum_outer_margin_minus_kappa": "629378373/4900000000000000", + "native": { + "binary_charts": 111, + "complex_contacts_and_inverses": 896, + "owned_stream_restored_zero": true, + "thin_paid_rank_per_port": 1, + "thin_productive_credit": 0 + }, + "negative_controls": { + "closed_epsilon": [ + "epsilon_below_one", + "global_gamma_power_slack", + "actual_logarithmic_gamma_guard", + "source_axis_superpolynomial", + "gaussian_above_main", + "new_semantic_guard_with_C1_one" + ], + "closed_uniform_gap": [ + "new_complex_uniform_saving_above_b" + ], + "missing_layout": [ + "positive_layout_slack" + ], + "old_BIT_cap": [ + "actual_bit_above_effective" + ], + "unfunded_kappa": [ + "main_transform_above_kappa", + "global_coordinate_router_above_kappa", + "fused_gaussian_above_kappa", + "group_bit_router_above_kappa", + "boundary_algebraic_matrix_above_kappa" + ] + }, + "old_atom_rejected": true, + "ordinary_BIT": { + "admitted": "17/5000", + "after_cover": "69/20000", + "atom": "1/250", + "before_cover": "3459/1000000", + "ordinary_saving": "8590884599/2500000000000", + "prime_rule": "odd q > 2^26*N^5 avoiding all fixed denominators and rank witnesses" + }, + "outer": { + "functional_checks": { + "actual_new_BIT_stock_sublinear": "17429997759/17500000000", + "fixed_halo_explicit_metadata_branch": "1347500003/17500000", + "new_BIT_row_stock_sublinear_in_active_group": "69789991027/70000000000", + "new_semantic_group_guard": "9/70000000" + }, + "margins": { + "boundary_algebraic_matrix": "14504839378373/4900000000000000", + "fused_gaussian": "14504838135119/4900000000000000", + "global_coordinate_router": "51803/17500000", + "group_bit_router": "3626262033773/1225000000000000", + "group_scans": "34999997/35000000", + "main_transform": "14504629378373/4900000000000000", + "microbox_face_corrections": "1347500003/17500000", + "polynomial_products": "69999997/70000000", + "sparse_union_movement": "2005129839378373/4900000000000000" + }, + "parameters": { + "a": "51803/17500000", + "b": "41443/14000000", + "beta": "69999991/70000000", + "bit_saving": "17/5000", + "cap_xi": "4455129629378373/4900000000000000", + "complex_uniform_saving": "103609/35000000", + "d": "3/70000000", + "epsilon": "69999997/70000000", + "kappa": "37/12500", + "lambda_": "19940797/20000000", + "lambda_prime": "69792791/70000000", + "layout": "3/70000000", + "q": "207209/70000000", + "r0": "3/700000000", + "stop": "3/70000000", + "tested_saving": "29603/10000000" + }, + "strict_checks": { + "actual_bit_above_effective": "7697/17500000", + "actual_logarithmic_gamma_guard": "3/70000000", + "actual_logarithmic_group_guard": "444870685621627/2450000000000000", + "alpha_logarithm_absorption": "3/700000000", + "boundary_algebraic_matrix_above_kappa": "839378373/4900000000000000", + "cap_above_band": "2005129629378373/4900000000000000", + "cap_below_cell": "444870160621627/4900000000000000", + "cap_below_phase_cell_power": "5344870370621627/4900000000000000", + "complex_above_effective": "3/70000000", + "complex_below_one_over_32": "396057/14000000", + "complex_endpoint": "3/35000000", + "epsilon_below_one": "3/70000000", + "epsilon_positive": "69999997/70000000", + "fine_prime_halo_umbrella": "7/2", + "fused_gaussian_above_kappa": "838135119/4900000000000000", + "gaussian_above_main": "104378373/2450000000000000", + "global_coordinate_router_above_kappa": "3/17500000", + "global_gamma_power_slack": "27/700000000", + "group_below_dimension": "3/35000000", + "group_bit_router_above_kappa": "262033773/1225000000000000", + "group_gauge_power_slack": "444870675121627/2450000000000000", + "group_key_fits_record": "3/35000000", + "group_positive": "69999991/70000000", + "group_scans_above_kappa": "34896397/35000000", + "halo_covers_generic_inverse_radius": "5", + "improvement_over_user_baseline": "614514790400418148631/500000000000000000000000", + "lambda_above_internal": "3/140000000", + "lambda_above_sigma": "9/140000000", + "lambda_above_tau": "3/140000000", + "lambda_prime_above_lambda": "3/140000000", + "lambda_prime_above_leaf": "83875671/980000000000000", + "leaf_saving_above_effective": "41875671/980000000000000", + "main_transform_above_kappa": "629378373/4900000000000000", + "membership_arithmetic_fits_record": "3/70000000", + "microbox_face_corrections_above_kappa": "1347448203/17500000", + "microbox_halo_volume": "5530000009/70000000", + "new_complex_uniform_saving_above_b": "3/70000000", + "new_semantic_guard_with_C1_one": "3/70000000", + "polynomial_products_above_kappa": "69792797/70000000", + "positive_layout_slack": "3/70000000", + "q_below_effective": "3/70000000", + "q_below_internal": "3/70000000", + "q_below_leaf": "83875671/980000000000000", + "q_positive": "207209/70000000", + "short_record_fallback": "13958557/14000000", + "source_axis_superpolynomial": "3/70000000", + "sparse_union_movement_above_kappa": "1990625839378373/4900000000000000", + "stop_below_one": "69999997/70000000", + "stop_positive": "3/70000000", + "strassen_integer_power_gap": "1951441519231", + "support_router_span": "9/70000000", + "theta_positive_polynomial_power": "2", + "union_header_fits_record": "9/70000000", + "union_tag_work_per_visit_fits_record": "9/70000000" + } + }, + "relative_gain_over_p7": "27353/268647", + "schema": "query-thinned-productive-controllers/1", + "scope": "Conditional native construction; all-column, erasure, whole-job matching, fixed-tape, precision, analytic, prime and exact-recovery premises retained. No unconditional theorem or selected promotion.", + "source_inputs_authenticated": 17, + "status": "PASS_CONDITIONAL_QUERY_THINNED_KAPPA_00296" +} diff --git a/research/hyperplane-retiming/inputs/p16-controller.json b/research/hyperplane-retiming/inputs/p16-controller.json new file mode 100644 index 0000000000..49a2f06758 --- /dev/null +++ b/research/hyperplane-retiming/inputs/p16-controller.json @@ -0,0 +1,5224 @@ +{ + "ambient_rank": 145, + "boundaries": { + "left": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "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", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "-1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "-1", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "-1", + "0", + "1", + "0", + "-1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "-1", + "0", + "1", + "0", + "-1", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "-1", + "0", + "1", + "0", + "-1", + "0", + "1", + "0", + "-1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "-1", + "0", + "1", + "0", + "-1", + "0", + "1", + "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", + "-1", + "0", + "1", + "0", + "-1", + "0", + "1", + "0", + "-1", + "0", + "1", + "0", + "-1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "left_program": [ + [ + "SWAP", + 30, + 31 + ], + [ + "SWAP", + 29, + 30 + ], + [ + "SWAP", + 28, + 30 + ], + [ + "SWAP", + 27, + 29 + ], + [ + "SWAP", + 26, + 28 + ], + [ + "SWAP", + 25, + 30 + ], + [ + "SWAP", + 24, + 25 + ], + [ + "SWAP", + 23, + 26 + ], + [ + "SWAP", + 22, + 30 + ], + [ + "SWAP", + 20, + 26 + ], + [ + "SWAP", + 19, + 22 + ], + [ + "SWAP", + 18, + 29 + ], + [ + "SWAP", + 17, + 23 + ], + [ + "SWAP", + 16, + 27 + ], + [ + "SCALE", + 15, + "-1" + ], + [ + "SWAP", + 15, + 31 + ], + [ + "ADD", + 12, + 14, + "1" + ], + [ + "ADD", + 10, + 14, + "-1" + ], + [ + "ADD", + 8, + 14, + "1" + ], + [ + "ADD", + 6, + 14, + "-1" + ], + [ + "ADD", + 4, + 14, + "1" + ], + [ + "ADD", + 2, + 14, + "-1" + ], + [ + "ADD", + 0, + 14, + "1" + ], + [ + "SWAP", + 14, + 15 + ], + [ + "ADD", + 31, + 13, + "1" + ], + [ + "SWAP", + 13, + 30 + ], + [ + "ADD", + 10, + 12, + "1" + ], + [ + "ADD", + 8, + 12, + "-1" + ], + [ + "ADD", + 6, + 12, + "1" + ], + [ + "ADD", + 4, + 12, + "-1" + ], + [ + "ADD", + 2, + 12, + "1" + ], + [ + "ADD", + 0, + 12, + "-1" + ], + [ + "SWAP", + 12, + 14 + ], + [ + "ADD", + 31, + 11, + "-1" + ], + [ + "ADD", + 30, + 11, + "-1" + ], + [ + "SCALE", + 11, + "-1" + ], + [ + "SWAP", + 11, + 29 + ], + [ + "ADD", + 8, + 10, + "1" + ], + [ + "ADD", + 6, + 10, + "-1" + ], + [ + "ADD", + 4, + 10, + "1" + ], + [ + "ADD", + 2, + 10, + "-1" + ], + [ + "ADD", + 0, + 10, + "1" + ], + [ + "SWAP", + 10, + 13 + ], + [ + "ADD", + 31, + 9, + "1" + ], + [ + "ADD", + 30, + 9, + "1" + ], + [ + "ADD", + 29, + 9, + "1" + ], + [ + "SWAP", + 9, + 28 + ], + [ + "ADD", + 6, + 8, + "1" + ], + [ + "ADD", + 4, + 8, + "-1" + ], + [ + "ADD", + 2, + 8, + "1" + ], + [ + "ADD", + 0, + 8, + "-1" + ], + [ + "SWAP", + 8, + 12 + ], + [ + "ADD", + 31, + 7, + "-1" + ], + [ + "ADD", + 30, + 7, + "-1" + ], + [ + "ADD", + 29, + 7, + "-1" + ], + [ + "ADD", + 28, + 7, + "-1" + ], + [ + "SCALE", + 7, + "-1" + ], + [ + "SWAP", + 7, + 27 + ], + [ + "ADD", + 4, + 6, + "1" + ], + [ + "ADD", + 2, + 6, + "-1" + ], + [ + "ADD", + 0, + 6, + "1" + ], + [ + "SWAP", + 6, + 11 + ], + [ + "ADD", + 31, + 5, + "1" + ], + [ + "ADD", + 30, + 5, + "1" + ], + [ + "ADD", + 29, + 5, + "1" + ], + [ + "ADD", + 28, + 5, + "1" + ], + [ + "ADD", + 27, + 5, + "1" + ], + [ + "SWAP", + 5, + 26 + ], + [ + "ADD", + 2, + 4, + "1" + ], + [ + "ADD", + 0, + 4, + "-1" + ], + [ + "SWAP", + 4, + 10 + ], + [ + "ADD", + 31, + 3, + "-1" + ], + [ + "ADD", + 30, + 3, + "-1" + ], + [ + "ADD", + 29, + 3, + "-1" + ], + [ + "ADD", + 28, + 3, + "-1" + ], + [ + "ADD", + 27, + 3, + "-1" + ], + [ + "ADD", + 26, + 3, + "-1" + ], + [ + "SCALE", + 3, + "-1" + ], + [ + "SWAP", + 3, + 25 + ], + [ + "ADD", + 0, + 2, + "1" + ], + [ + "SWAP", + 2, + 9 + ], + [ + "ADD", + 31, + 1, + "1" + ], + [ + "ADD", + 30, + 1, + "1" + ], + [ + "ADD", + 29, + 1, + "1" + ], + [ + "ADD", + 28, + 1, + "1" + ], + [ + "ADD", + 27, + 1, + "1" + ], + [ + "ADD", + 26, + 1, + "1" + ], + [ + "ADD", + 25, + 1, + "1" + ], + [ + "SWAP", + 1, + 24 + ], + [ + "SWAP", + 0, + 8 + ] + ], + "right": [ + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "-1", + "1", + "-1", + "1", + "-1", + "1", + "-1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "-1", + "1", + "-1", + "1", + "-1", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "-1", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "-1", + "1", + "-1", + "1", + "-1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1", + "1", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "-1", + "1", + "-1", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "-1", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "-1", + "1", + "-1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1", + "1", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "-1", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "-1", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "-1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "-1", + "1", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "-1" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ], + [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "1", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "0" + ] + ], + "right_program": [ + [ + "ADD", + 30, + 31, + "-1" + ], + [ + "ADD", + 29, + 31, + "-1" + ], + [ + "ADD", + 28, + 31, + "-1" + ], + [ + "ADD", + 27, + 31, + "-1" + ], + [ + "SCALE", + 31, + "-1" + ], + [ + "ADD", + 31, + 30, + "-1" + ], + [ + "ADD", + 29, + 30, + "-1" + ], + [ + "ADD", + 28, + 30, + "-1" + ], + [ + "ADD", + 27, + 30, + "-1" + ], + [ + "ADD", + 31, + 29, + "-1" + ], + [ + "ADD", + 28, + 29, + "-1" + ], + [ + "ADD", + 27, + 29, + "-1" + ], + [ + "SCALE", + 29, + "-1" + ], + [ + "ADD", + 31, + 28, + "-1" + ], + [ + "ADD", + 27, + 28, + "-1" + ], + [ + "SWAP", + 28, + 29 + ], + [ + "ADD", + 31, + 27, + "-1" + ], + [ + "SCALE", + 27, + "-1" + ], + [ + "SWAP", + 27, + 29 + ], + [ + "ADD", + 31, + 26, + "1" + ], + [ + "SWAP", + 26, + 29 + ], + [ + "ADD", + 29, + 25, + "-1" + ], + [ + "ADD", + 24, + 25, + "-1" + ], + [ + "SWAP", + 25, + 28 + ], + [ + "ADD", + 28, + 24, + "1" + ], + [ + "SWAP", + 23, + 29 + ], + [ + "SWAP", + 22, + 25 + ], + [ + "SWAP", + 20, + 23 + ], + [ + "SWAP", + 19, + 25 + ], + [ + "SWAP", + 18, + 27 + ], + [ + "SWAP", + 17, + 29 + ], + [ + "SWAP", + 16, + 31 + ], + [ + "ADD", + 14, + 15, + "-1" + ], + [ + "SWAP", + 15, + 30 + ], + [ + "ADD", + 13, + 14, + "-1" + ], + [ + "SWAP", + 14, + 30 + ], + [ + "ADD", + 12, + 13, + "-1" + ], + [ + "SWAP", + 13, + 22 + ], + [ + "ADD", + 11, + 12, + "-1" + ], + [ + "SWAP", + 12, + 30 + ], + [ + "ADD", + 10, + 11, + "-1" + ], + [ + "SWAP", + 11, + 18 + ], + [ + "ADD", + 9, + 10, + "-1" + ], + [ + "SWAP", + 10, + 22 + ], + [ + "ADD", + 8, + 9, + "-1" + ], + [ + "SWAP", + 9, + 26 + ], + [ + "SWAP", + 8, + 30 + ], + [ + "SWAP", + 7, + 16 + ], + [ + "SWAP", + 6, + 18 + ], + [ + "SWAP", + 5, + 20 + ], + [ + "SWAP", + 4, + 22 + ], + [ + "SWAP", + 3, + 24 + ], + [ + "SWAP", + 2, + 26 + ], + [ + "SWAP", + 1, + 28 + ], + [ + "SWAP", + 0, + 30 + ] + ] + }, + "diagonal": [ + [ + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 1 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 1 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 1 + ], + [ + -1, + 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, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 1 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 1 + ], + [ + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 1 + ], + [ + -1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + -1, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 1 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 1 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 1 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 1 + ], + [ + 1, + 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, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 1 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 1 + ], + [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 1 + ], + [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 1, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 1 + ] + ], + "invoice": { + "main": { + "17": 448, + "25": 448, + "33": 448, + "41": 448, + "49": 448, + "57": 448, + "65": 448, + "73": 224, + "145": 224 + }, + "owned_streams_reused_sequentially": 1, + "paid": { + "1": 46446, + "2": 12834, + "3": 4032, + "4": 1836, + "5": 360, + "8": 144, + "16": 448, + "24": 448, + "32": 448, + "40": 448, + "48": 448, + "56": 448, + "64": 448, + "72": 224 + }, + "paid_calls": 69012, + "productive_fields": 10928, + "rank_surplus": 752, + "raw_scalar_record_bound": 1000000000, + "targets": { + "5": 504, + "6": 324, + "7": 1008, + "8": 1674, + "9": 3834, + "17": 448, + "25": 448, + "33": 448, + "41": 448, + "49": 448, + "57": 448, + "65": 448, + "73": 224, + "145": 224 + }, + "thick_calls": 18, + "thick_stages": [ + 0, + 1, + 3, + 5, + 7, + 9, + 11, + 13, + 15, + 17, + 19, + 21, + 23, + 25, + 27, + 29, + 31, + 32 + ], + "thin_queries": 1680, + "whole_idle": { + "16": 448, + "24": 448, + "32": 448, + "40": 448, + "48": 448, + "56": 448, + "64": 448, + "72": 224 + } + }, + "keep_mask": 35047648968703, + "kind": "complex", + "pairs": 16, + "physical_events": [ + [ + "LOCAL", + 0, + 0, + false + ], + [ + "LOCAL", + 1, + 0, + true + ], + [ + "IDLE", + 1, + [ + 0, + 1 + ] + ], + [ + "ADD", + 0, + 2, + 1 + ], + [ + "ADD", + 3, + 1, + -1 + ], + [ + "QUERY_SHEAR", + 2, + 0, + false + ], + [ + "ADD", + 0, + 2, + -1 + ], + [ + "ADD", + 3, + 1, + 1 + ], + [ + "LOCAL", + 3, + 1, + true + ], + [ + "IDLE", + 2, + [ + 0, + 1, + 3 + ] + ], + [ + "ADD", + 2, + 4, + 1 + ], + [ + "ADD", + 5, + 3, + -1 + ], + [ + "QUERY_SHEAR", + 4, + 1, + false + ], + [ + "ADD", + 2, + 4, + -1 + ], + [ + "ADD", + 5, + 3, + 1 + ], + [ + "LOCAL", + 5, + 2, + true + ], + [ + "IDLE", + 3, + [ + 0, + 1, + 3, + 5 + ] + ], + [ + "ADD", + 4, + 6, + 1 + ], + [ + "ADD", + 7, + 5, + -1 + ], + [ + "QUERY_SHEAR", + 6, + 2, + false + ], + [ + "ADD", + 4, + 6, + -1 + ], + [ + "ADD", + 7, + 5, + 1 + ], + [ + "LOCAL", + 7, + 3, + true + ], + [ + "IDLE", + 4, + [ + 0, + 1, + 3, + 5, + 7 + ] + ], + [ + "ADD", + 6, + 8, + 1 + ], + [ + "ADD", + 9, + 7, + -1 + ], + [ + "QUERY_SHEAR", + 8, + 3, + false + ], + [ + "ADD", + 6, + 8, + -1 + ], + [ + "ADD", + 9, + 7, + 1 + ], + [ + "LOCAL", + 9, + 4, + true + ], + [ + "IDLE", + 5, + [ + 0, + 1, + 3, + 5, + 7, + 9 + ] + ], + [ + "ADD", + 8, + 10, + 1 + ], + [ + "ADD", + 11, + 9, + -1 + ], + [ + "QUERY_SHEAR", + 10, + 4, + false + ], + [ + "ADD", + 8, + 10, + -1 + ], + [ + "ADD", + 11, + 9, + 1 + ], + [ + "LOCAL", + 11, + 5, + true + ], + [ + "IDLE", + 6, + [ + 0, + 1, + 3, + 5, + 7, + 9, + 11 + ] + ], + [ + "ADD", + 10, + 12, + 1 + ], + [ + "ADD", + 13, + 11, + -1 + ], + [ + "QUERY_SHEAR", + 12, + 5, + false + ], + [ + "ADD", + 10, + 12, + -1 + ], + [ + "ADD", + 13, + 11, + 1 + ], + [ + "LOCAL", + 13, + 6, + true + ], + [ + "IDLE", + 7, + [ + 0, + 1, + 3, + 5, + 7, + 9, + 11, + 13 + ] + ], + [ + "ADD", + 12, + 14, + 1 + ], + [ + "ADD", + 15, + 13, + -1 + ], + [ + "QUERY_SHEAR", + 14, + 6, + false + ], + [ + "ADD", + 12, + 14, + -1 + ], + [ + "ADD", + 15, + 13, + 1 + ], + [ + "LOCAL", + 15, + 7, + true + ], + [ + "ADD", + 14, + 16, + 1 + ], + [ + "ADD", + 17, + 15, + -1 + ], + [ + "QUERY_SHEAR", + 16, + 7, + false + ], + [ + "ADD", + 14, + 16, + -1 + ], + [ + "ADD", + 17, + 15, + 1 + ], + [ + "LOCAL", + 17, + 8, + true + ], + [ + "ADD", + 16, + 18, + 1 + ], + [ + "ADD", + 19, + 17, + -1 + ], + [ + "QUERY_SHEAR", + 18, + 8, + false + ], + [ + "ADD", + 16, + 18, + -1 + ], + [ + "ADD", + 19, + 17, + 1 + ], + [ + "LOCAL", + 19, + 9, + true + ], + [ + "ADD", + 18, + 20, + 1 + ], + [ + "ADD", + 21, + 19, + -1 + ], + [ + "QUERY_SHEAR", + 20, + 9, + false + ], + [ + "ADD", + 18, + 20, + -1 + ], + [ + "ADD", + 21, + 19, + 1 + ], + [ + "LOCAL", + 21, + 10, + true + ], + [ + "ADD", + 20, + 22, + 1 + ], + [ + "ADD", + 23, + 21, + -1 + ], + [ + "QUERY_SHEAR", + 22, + 10, + false + ], + [ + "ADD", + 20, + 22, + -1 + ], + [ + "ADD", + 23, + 21, + 1 + ], + [ + "LOCAL", + 23, + 11, + true + ], + [ + "ADD", + 22, + 24, + 1 + ], + [ + "ADD", + 25, + 23, + -1 + ], + [ + "QUERY_SHEAR", + 24, + 11, + false + ], + [ + "ADD", + 22, + 24, + -1 + ], + [ + "ADD", + 25, + 23, + 1 + ], + [ + "LOCAL", + 25, + 12, + true + ], + [ + "ADD", + 24, + 26, + 1 + ], + [ + "ADD", + 27, + 25, + -1 + ], + [ + "QUERY_SHEAR", + 26, + 12, + false + ], + [ + "ADD", + 24, + 26, + -1 + ], + [ + "ADD", + 27, + 25, + 1 + ], + [ + "LOCAL", + 27, + 13, + true + ], + [ + "ADD", + 26, + 28, + 1 + ], + [ + "ADD", + 29, + 27, + -1 + ], + [ + "QUERY_SHEAR", + 28, + 13, + false + ], + [ + "ADD", + 26, + 28, + -1 + ], + [ + "ADD", + 29, + 27, + 1 + ], + [ + "LOCAL", + 29, + 14, + true + ], + [ + "ADD", + 28, + 30, + 1 + ], + [ + "ADD", + 31, + 29, + -1 + ], + [ + "QUERY_SHEAR", + 30, + 14, + false + ], + [ + "ADD", + 28, + 30, + -1 + ], + [ + "ADD", + 31, + 29, + 1 + ], + [ + "LOCAL", + 31, + 15, + true + ], + [ + "LOCAL", + 32, + 15, + false + ], + [ + "IDLE", + 7, + [ + 17, + 19, + 21, + 23, + 25, + 27, + 29, + 31, + 32 + ] + ], + [ + "IDLE", + 8, + [ + 19, + 21, + 23, + 25, + 27, + 29, + 31, + 32 + ] + ], + [ + "IDLE", + 9, + [ + 21, + 23, + 25, + 27, + 29, + 31, + 32 + ] + ], + [ + "IDLE", + 10, + [ + 23, + 25, + 27, + 29, + 31, + 32 + ] + ], + [ + "IDLE", + 11, + [ + 25, + 27, + 29, + 31, + 32 + ] + ], + [ + "IDLE", + 12, + [ + 27, + 29, + 31, + 32 + ] + ], + [ + "IDLE", + 13, + [ + 29, + 31, + 32 + ] + ], + [ + "IDLE", + 14, + [ + 31, + 32 + ] + ], + [ + "ADD", + 30, + 28, + 1 + ], + [ + "ADD", + 29, + 31, + -1 + ], + [ + "ADD", + 28, + 26, + 1 + ], + [ + "ADD", + 27, + 29, + -1 + ], + [ + "ADD", + 26, + 24, + 1 + ], + [ + "ADD", + 25, + 27, + -1 + ], + [ + "ADD", + 24, + 22, + 1 + ], + [ + "ADD", + 23, + 25, + -1 + ], + [ + "ADD", + 22, + 20, + 1 + ], + [ + "ADD", + 21, + 23, + -1 + ], + [ + "ADD", + 20, + 18, + 1 + ], + [ + "ADD", + 19, + 21, + -1 + ], + [ + "ADD", + 18, + 16, + 1 + ], + [ + "ADD", + 17, + 19, + -1 + ], + [ + "ADD", + 16, + 14, + 1 + ], + [ + "ADD", + 15, + 17, + -1 + ], + [ + "ADD", + 14, + 12, + 1 + ], + [ + "ADD", + 13, + 15, + -1 + ], + [ + "ADD", + 12, + 10, + 1 + ], + [ + "ADD", + 11, + 13, + -1 + ], + [ + "ADD", + 10, + 8, + 1 + ], + [ + "ADD", + 9, + 11, + -1 + ], + [ + "ADD", + 8, + 6, + 1 + ], + [ + "ADD", + 7, + 9, + -1 + ], + [ + "ADD", + 6, + 4, + 1 + ], + [ + "ADD", + 5, + 7, + -1 + ], + [ + "ADD", + 4, + 2, + 1 + ], + [ + "ADD", + 3, + 5, + -1 + ], + [ + "ADD", + 2, + 0, + 1 + ], + [ + "ADD", + 1, + 3, + -1 + ], + [ + "SIGNED_SWAP", + 0, + 1 + ], + [ + "SIGNED_SWAP", + 2, + 3 + ], + [ + "SIGNED_SWAP", + 4, + 5 + ], + [ + "SIGNED_SWAP", + 6, + 7 + ], + [ + "SIGNED_SWAP", + 8, + 9 + ], + [ + "SIGNED_SWAP", + 10, + 11 + ], + [ + "SIGNED_SWAP", + 12, + 13 + ], + [ + "SIGNED_SWAP", + 14, + 15 + ], + [ + "SIGNED_SWAP", + 16, + 17 + ], + [ + "SIGNED_SWAP", + 18, + 19 + ], + [ + "SIGNED_SWAP", + 20, + 21 + ], + [ + "SIGNED_SWAP", + 22, + 23 + ], + [ + "SIGNED_SWAP", + 24, + 25 + ], + [ + "SIGNED_SWAP", + 26, + 27 + ], + [ + "SIGNED_SWAP", + 28, + 29 + ], + [ + "SIGNED_SWAP", + 30, + 31 + ] + ], + "prefix_pairs": 7 +} diff --git a/research/hyperplane-retiming/outer_ledger.py b/research/hyperplane-retiming/outer_ledger.py new file mode 100644 index 0000000000..340e1f0ffb --- /dev/null +++ b/research/hyperplane-retiming/outer_ledger.py @@ -0,0 +1,240 @@ +#!/usr/bin/env python3 +"""Exact endpoint refill conditional on the source PR4359 construction. + +Apache-2.0. Substantial OpenAI assistance. The mixed inventory and elementary +function enclosure are zxv's PR4359; mixed-target flow is Jacob Alan Sussman's +Theorem 1G. Outer formulas retain the attribution in PR4359 outer_parameters.py. +This file checks arithmetic, not the native or all-size proof hypotheses. +""" +from collections import Counter +from fractions import Fraction as Q +from hashlib import sha256 +from pathlib import Path +import argparse +import gzip +import importlib.util +import json +import sys + +sys.dont_write_bytecode = True +HERE = Path(__file__).resolve().parent +PREFIX = Path('research/kappa-rebuild') +OLD_BASELINE = Q('0.001730970419199163702738') +KAPPA = Q('0.00230509') +TESTED = Q('0.00230509019') +ROOT_UPPER = Q('0.002306') + + +def need(value, message): + if not value: + raise AssertionError(message) + + +def read(path): + raw = path.read_bytes() + return json.loads(gzip.decompress(raw) if path.suffix == '.gz' else raw) + + +def ceil(value): + value = Q(value) + return -((-value.numerator) // value.denominator) + + +def encode(value): + if isinstance(value, Q): + return str(value) + if isinstance(value, dict): + return {str(k): encode(v) for k, v in value.items()} + if isinstance(value, (tuple, list)): + return [encode(v) for v in value] + return value + + +def family(kappa, tested): + """One explicit slack family approaching the same source mixed root.""" + need(Q(0) < kappa < tested < ROOT_UPPER, 'Positive strictly ordered savings') + d = (tested-kappa)/7 + return {'kappa': kappa, 'tested_saving': tested, + 'complex_uniform_saving': kappa+6*d, + 'b': kappa+5*d, 'a': kappa+4*d, 'q': kappa+3*d, + 'bit_saving': Q('0.0027'), 'epsilon': 1-d, 'beta': 1-3*d, + 'r0': d/10, 'stop': d, 'layout': d, 'd': d} + + +def ledger(p): + """Recompute all 54 named PR4359 checks with freely supplied parameters.""" + kappa, b, a, q = (p[key] for key in ('kappa', 'b', 'a', 'q')) + epsilon, beta, r0, stop, layout = (p[key] for key in + ('epsilon', 'beta', 'r0', 'stop', 'layout')) + sigma, tau = 1-b, 1-a + internal = tau+(1-stop)*max(sigma-tau, Q(0)) + leaf = sigma+stop*(1-sigma) + lam, c = 1-(q+a)/2, Q(3, 32) + xi, key = epsilon*(1+q)-c+layout, beta+1-epsilon + margins = { + 'main_transform': epsilon*q, + 'global_coordinate_router': a, + 'fused_gaussian': 1-epsilon+q*beta, + 'group_bit_router': 1-epsilon+a*beta, + 'group_scans': 1-epsilon+beta, + 'boundary_algebraic_matrix': c+xi-epsilon, + 'sparse_union_movement': xi+Q(1, 2)-epsilon, + 'polynomial_products': epsilon, + 'microbox_face_corrections': 1-(epsilon+beta+48-128+2), + } + checks = { + 'actual_bit_above_effective': p['bit_saving']-a, + 'complex_above_effective': b-a, + 'q_positive': q, 'complex_endpoint': b-q, 'q_below_effective': a-q, + 'stop_positive': stop, 'stop_below_one': 1-stop, + 'leaf_saving_above_effective': (1-stop)*b-a, + 'q_below_internal': 1-internal-q, 'q_below_leaf': 1-leaf-q, + 'lambda_above_tau': lam-tau, 'lambda_above_sigma': lam-sigma, + 'lambda_above_internal': lam-internal, + 'lambda_prime_above_lambda': 1-q-lam, + 'lambda_prime_above_leaf': 1-q-leaf, + 'epsilon_positive': epsilon, 'epsilon_below_one': 1-epsilon, + 'cap_above_band': xi-Q(1, 2), 'cap_below_cell': epsilon-xi, + 'group_positive': beta, 'group_below_dimension': epsilon-beta, + 'support_router_span': 1-beta, + 'group_gauge_power_slack': 1-(2*xi-2)-r0-beta, + 'actual_logarithmic_group_guard': 1-(2*xi-2)-beta, + 'global_gamma_power_slack': 1-epsilon-r0, + 'actual_logarithmic_gamma_guard': 1-epsilon, + 'alpha_logarithm_absorption': r0, + 'group_key_fits_record': 1-key, + 'membership_arithmetic_fits_record': 1-beta-2*(1-epsilon), + 'microbox_halo_volume': 128-48-beta, + 'positive_layout_slack': layout, + 'short_record_fallback': epsilon-a, + 'complex_below_one_over_32': Q(1, 32)-b, + 'strassen_integer_power_gap': Q(2**45-7**16), + 'theta_positive_polynomial_power': Q(2), + 'cap_below_phase_cell_power': 2-xi, + 'halo_covers_generic_inverse_radius': Q(48-43), + 'union_tag_work_per_visit_fits_record': 1-beta, + 'union_header_fits_record': 1-beta, + 'source_axis_superpolynomial': 1-epsilon, + 'gaussian_above_main': margins['fused_gaussian']-margins['main_transform'], + 'new_complex_uniform_saving_above_b': p['complex_uniform_saving']-b, + 'improvement_over_user_baseline': kappa-OLD_BASELINE, + 'new_semantic_guard_with_C1_one': 1-epsilon, + 'fine_prime_halo_umbrella': 10-(2*2+2+Q(1, 2)), + } + checks.update({name+'_above_kappa': value-kappa for name, value in margins.items()}) + # These are the additional functional conditions in the independent + # PR4359 outer_transfer_audit.py, beyond the 54-row parameter ledger. + functional = { + 'new_semantic_group_guard': 1-beta, + 'new_BIT_row_stock_sublinear_in_active_group': beta*(1-Q(3, 1000)), + 'fixed_halo_explicit_metadata_branch': 128-48-epsilon-beta-1, + } + return {'parameters': dict(p, cap_xi=xi, lambda_=lam, lambda_prime=1-q), + 'margins': margins, 'strict_checks': checks, 'functional_checks': functional} + + +def compiler_rank(E, targets, paid, tested, uniform): + """The original sufficient bound, re-instantiated for the new exponent.""" + m, kmin, rmax = max(targets), min(targets), max(paid) + need((m, kmin, rmax) == (57, 6, 5), 'Pinned complex separation') + t, z = 1-tested, 1-uniform + z0, h = (t+z)/2, Q(1, 10) + delta = z0-t + need(0 < t < z0 < z < 1, 'Compiler exponent order') + need(5**10 < 6**9 and 57 < 2**10, 'Exact source rank bounds') + need(z0 > Q(1, 2) and (1-z0)*E.log_interval(m)[1] < E.log_interval(2)[0], + 'Original eta strictly exceeds 1/4') + H0 = ceil((3+4*delta)/(h*delta)) + ratio = H0*(1-z0)/(z-z0) + H1 = ratio.numerator//ratio.denominator+1 + need(H0 >= m.bit_length() and H0*h*delta >= 3+4*delta, 'Induction starts') + need(H1*(z-z0) > H0*(1-z0), 'Strict winning uniform rank') + need((H0-1)*h*delta < 3+4*delta, 'Reject one lower threshold exponent') + need((H1-1)*(z-z0) <= H0*(1-z0), 'Reject one lower final exponent') + return {'t': t, 'z0': z0, 'z': z, 'theta_upper': Q(9, 10), + 'H0': H0, 'H1': H1, 'N_encoding': '2^H1', + 'strict_final_gap': H1*(z-z0)-H0*(1-z0), + 'winning_word_materialized': False, + 'bound': 'Original sufficient inequality; a sharper bound is separate.'} + + +def run(source_root): + base = source_root/PREFIX + interval_path = base/'architecture/mixed_target_probe.py' + spec = importlib.util.spec_from_file_location('pr4359_moment', interval_path) + E = importlib.util.module_from_spec(spec) + spec.loader.exec_module(E) + cover = read(base/'controller/P3-NATIVE-COVER.json.gz')['cover'] + targets = {int(k): int(v) for k, v in cover['targets'].items()} + paid = {int(k): int(v) for k, v in cover['paid'].items()} + need(targets == {6: 192, 7: 56, 8: 93, 9: 1229, 25: 448, 57: 224}, + 'Exact source productive inventory') + need(paid == {1: 17623, 2: 5065, 3: 1738, 4: 714, 5: 254}, + 'Exact source paid inventory') + signed = Counter(targets) + signed.subtract(paid) + need(sum(k*v for k, v in signed.items()) == 224, 'Rank-one surplus') + bracket = {'lower': E.moment(signed, TESTED), 'upper': E.moment(signed, ROOT_UPPER)} + need(bracket['lower'][0] > 0 and bracket['upper'][1] < 0, + 'Strict mixed test and upper root bound') + + original = read(base/'controller/OUTER-PARAMETERS.json')['outer'] + old = ledger({'kappa': Q('0.0023'), 'complex_uniform_saving': Q('0.002304'), + 'b': Q('0.002303'), 'a': Q('0.0023025'), 'q': Q('0.002302'), + 'bit_saving': Q('0.0027'), 'epsilon': Q('0.99999'), + 'beta': Q('0.99997'), 'r0': Q(1, 10**6), + 'stop': Q(1, 10**8), 'layout': Q(1, 10**6)}) + for group in ('margins', 'strict_checks'): + frozen = {key: Q(value['rational']) for key, value in original[group].items()} + need(old[group] == frozen, 'Exact reproduction of every old '+group) + p = family(KAPPA, TESTED) + result = ledger(p) + need(all(v > 0 for v in result['strict_checks'].values()), 'All 54 new outer predicates') + need(all(v > 0 for v in result['functional_checks'].values()), 'Additional functional predicates') + need(min(result['margins'].values()) == result['margins']['main_transform'], + 'Main transform remains limiting') + need(result['parameters']['cap_xi'] == Q(29, 32)+(1-p['d'])*p['q'], + 'Cofinal cap simplification') + controls = {} + for label, updates in [('closed_epsilon_gap', {'epsilon': Q(1)}), + ('missing_layout', {'layout': Q(0)}), + ('unfunded_kappa', {'kappa': Q('0.002306')}), + ('BIT_below_effective', {'bit_saving': OLD_BASELINE}), + ('no_complex_slack', {'complex_uniform_saving': p['b']})]: + tested = ledger(dict(p, **updates)) + failures = {k: v for k, v in tested['strict_checks'].items() if v <= 0} + need(failures, 'Mutation rejected: '+label) + controls[label] = failures + need(E.moment(signed, Q('0.004'))[1] < 0, 'Unsupported mixed target is rejected') + inputs = [interval_path, base/'controller/P3-NATIVE-COVER.json.gz', + base/'controller/OUTER-PARAMETERS.json'] + return encode({'schema': 'pr4359-cofinal-outer-refill/1', + 'status': 'PASS_EXACT_CONDITIONAL_ENDPOINT_REFILL', + 'kappa': KAPPA, 'gain_over_PR4359': KAPPA-Q('0.0023'), + 'unchanged_paid': paid, 'unchanged_targets': targets, + 'mixed_test_saving': TESTED, 'mixed_test_margin': E.show(bracket['lower']), + 'root_upper_test': ROOT_UPPER, 'root_upper_margin': E.show(bracket['upper']), + 'old_ledger_crosscheck': {'matched_savings': len(old['margins']), + 'matched_checks': len(old['strict_checks'])}, + 'outer': result, 'limiting_margin': min(result['margins'].values())-KAPPA, + 'compiler': compiler_rank(E, targets, paid, TESTED, p['complex_uniform_saving']), + 'negative_controls': controls, + 'source_sha256': {str(p.relative_to(source_root)): sha256(p.read_bytes()).hexdigest() + for p in inputs}, + 'scope': 'Conditional arithmetic and specified finite rank. The PR4359 native, compiler, cover, precision, fixed-tape and outer hypotheses remain premises; no full theorem or practical word is certified.'}) + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--source-root', type=Path, default=HERE/'source') + parser.add_argument('--out', type=Path) + args = parser.parse_args() + result = run(args.source_root) + if args.out: + args.out.write_text(json.dumps(result, indent=2, sort_keys=True)+'\n') + print(json.dumps({key: result[key] for key in + ('status', 'kappa', 'gain_over_PR4359', 'limiting_margin', 'compiler')}, sort_keys=True)) + + +if __name__ == '__main__': + main() diff --git a/research/hyperplane-retiming/price_profile.py b/research/hyperplane-retiming/price_profile.py new file mode 100644 index 0000000000..eac423510d --- /dev/null +++ b/research/hyperplane-retiming/price_profile.py @@ -0,0 +1,144 @@ +"""Complete p16 price and finite compiler for a changed native profile. + +Adapted from Cinna Davis's PR4470 arithmetic, retaining zxv's paid tensor +completion/logarithmic majorant and Jacob Alan Sussman's mixed-job flow. +Apache-2.0. Substantial OpenAI Codex assistance. Native admission is separate. +""" +from collections import Counter +from fractions import Fraction as Q +from hashlib import sha256 +from pathlib import Path +import argparse +import importlib.util +import json +import math +import sys +sys.dont_write_bytecode=True +HERE=Path(__file__).resolve().parent +ROOT=HERE.parents[1] + +def need(ok,why): + if not ok:raise ValueError(why) + +def load(path,name): + spec=importlib.util.spec_from_file_location(name,path) + m=importlib.util.module_from_spec(spec);sys.modules[name]=m;spec.loader.exec_module(m) + return m + +def encode(x): + if isinstance(x,Q):return str(x) + if isinstance(x,dict):return {str(k):encode(v) for k,v in x.items()} + if isinstance(x,(list,tuple)):return [encode(v) for v in x] + return x + +def read(path): + import gzip + b=path.read_bytes();return json.loads(gzip.decompress(b) if path.suffix=='.gz' else b) + +def assemble(local): + H={int(k):v for k,v in local['helpers'].items()};N={int(k):v for k,v in local['paid'].items()} + word=read(HERE/'inputs/p16-controller.json') + T,P=Counter(),Counter();full=thin=0 + for e in word['physical_events']: + if e[0]=='LOCAL':full+=1;T.update(H);P.update(N) + elif e[0]=='QUERY_SHEAR':thin+=1;P[1]+=112 + elif e[0]=='IDLE':P[8*len(e[2])]+=224 + for term in word['diagonal']:T[1+8*sum(term[1:])]+=112 + need(full==18 and thin==15 and sum(H.values())==408,'Complete retained p16 call and input inventory') + return H,N,T,P,word + +def run(local,kappa=None): + H,N,T,P,word=assemble(local) + E=load(HERE/'intervals.py','round2_exact_intervals') + other=load(HERE/'second_intervals.py','round2_second_intervals') + def margin(c): + t,p=E.moment(T,1-c),E.moment(P,1-c) + return t[0]-p[1],t[1]-p[0] + old_upper=Q('.0030201659771') + need(margin(old_upper)[0]>0,'Changed complete invoice strictly beats old raw root upper endpoint') + # Binary search on a fixed rational grid; all final signs use exact intervals. + lo,hi=0,100000000 + grid=10**10 + while hi-lo>1: + mid=(lo+hi)//2 + if margin(Q(mid,grid))[0]>0:lo=mid + else:hi=mid + root_low,root_high=Q(lo,grid),Q(hi,grid) + need(margin(root_low)[0]>0 and margin(root_high)[1]<0,'Strict changed-profile rational root enclosure') + if kappa is None:kappa=Q((root_low*10**8).__floor__()-3,10**8) + tested=kappa+Q(1,10**8) + need(Q('.003020165')ph and max(tl,target[0])<=min(th,target[1]) and max(pl,paid[0])<=min(ph,paid[1]),'Two independently implemented rational moment engines agree') + alpha=E.divide(paid,target) + gamma=E.divide(E.moment(P,t+u),E.mul(E.power(c,u),target)) + delta=E.divide((Q(sum(T.values())*b),)*2,E.mul(E.power(c,tested),target)) + alpha_gap=Q(1,10**9);g=d=Q(97,100) + need(alpha[1]<1-alpha_gap and gamma[1]theta**power,'Shifted exits and complement capacity') + need(E.power(145,v*tested)[1]<2**power,'Compiler initial range') + gap=(tested-kappa)/7;need(gap.numerator==1,'Explicit finite integer grid') + step=gap.denominator + def wins(j):return (step*j+1)**power<2**j + left,right=1,2 + while not wins(right):left,right=right,2*right + while right-left>1: + mid=(left+right)//2 + if wins(mid):right=mid + else:left=mid + height=step*right + need(height>8*v and wins(right) and not wins(right-1),'Strict finite uniform-rank integer bound') + local_scalar=max(x['real_scalar_allowance'] for x in local['native'].values()) + routes=(sum(N.values())+2*408+688)*1000 + need(local_scalar+routes<10**7,'Complete scalar and fixed monomial routing bound') + scalar_upper=18*10**7+15*1792+32*112*(len(word['physical_events'])+sum(len(word['boundaries'][k+'_program']) for k in ('left','right'))) + need(scalar_upper<10**9,'Raw controller scalar bound') + bit=read(HERE/'inputs/bit-stock.json')['ordinary_BIT'] + atom=Q(bit['atom']);ordinary=(1-atom)*Q(bit['after_cover'])+atom*Q('.0000384599');admitted=Q(bit['admitted']) + need(atom==Q('.004') and atom>ordinary>admitted>tested and atom<1-ordinary,'Source ordinary BIT admission and stock') + L=load(HERE/'outer_ledger.py','round2_outer_ledger') + params={'kappa':kappa,'tested_saving':tested,'complex_uniform_saving':kappa+6*gap, + 'b':kappa+5*gap,'a':kappa+4*gap,'q':kappa+3*gap,'bit_saving':admitted, + 'epsilon':1-gap,'beta':1-3*gap,'r0':gap/10,'stop':gap,'layout':gap,'d':gap} + outer=L.ledger(params);outer['functional_checks']['actual_new_BIT_stock_sublinear']=params['beta']*(1-atom) + need(len(outer['strict_checks'])==54 and len(outer['functional_checks'])==4,'Whole outer predicate inventory') + need(all(x>0 for key in ('strict_checks','functional_checks') for x in outer[key].values()),'All outer inequalities strictly positive') + controls={} + for name,patch in [('old_BIT',{'bit_saving':Q('.0027')}),('closed_uniform',{'complex_uniform_saving':params['b']}),('unfunded_endpoint',{'kappa':tested}),('closed_epsilon',{'epsilon':Q(1)})]: + bad=L.ledger(dict(params,**patch));failed=[k for k,x in bad['strict_checks'].items() if x<=0] + need(failed,'Reject unsupported outer patch '+name);controls[name]=failed + return encode({'status':'PASS_CHANGED_PROFILE_ARITHMETIC_NATIVE_ADMISSION_SEPARATE','kappa':kappa, + 'gain_over_PR4535':kappa-Q('.003020165'),'raw_root_interval':[root_low,root_high], + 'margin_at_old_root_upper':margin(old_upper),'local_helpers':H,'local_paid':N,'targets':T,'paid':P, + 'productive_fields':sum(T.values()),'paid_calls':sum(P.values()),'rank_mass_surplus':sum(r*n for r,n in T.items())-sum(r*n for r,n in P.items()), + 'strictification':{'tested':tested,'power':v,'cutoff':c,'floor':b,'tail_offset':u,'alpha':E.display(alpha),'gamma':E.display(gamma),'delta':E.display(delta),'normalized_paid_upper':normalized}, + 'compiler':{'theta':theta,'logarithm_power':power,'eta':E.display(eta),'gap':gap,'uniform_saving':params['complex_uniform_saving'],'H':height,'N':'2^'+str(height),'integer_test_exponent':right,'word_materialized':False}, + 'nonrecursive':{'local_scalar':local_scalar,'local_routes':routes,'raw_scalar_upper':scalar_upper}, + 'ordinary_BIT':bit,'outer':outer,'negative_controls':controls, + 'scope':'Exact changed-profile arithmetic only. Requires separately admitted changed native programs, paid transports and absolute phases. Retained compiler/native/precision/tape/analytic/recovery assumptions.'}) + +if __name__=='__main__': + ap=argparse.ArgumentParser();ap.add_argument('--native',type=Path,required=True);ap.add_argument('--kappa');ap.add_argument('--out',type=Path,default=HERE/'ARITHMETIC.json');args=ap.parse_args() + V=load(HERE/'verify.py','hyper_auth');V.authenticate() + result=run(read(args.native),Q(args.kappa) if args.kappa else None) + result['native_receipt_sha256']=sha256(args.native.read_bytes()).hexdigest() + # Pin all loaded project source modules and the non-module controller/stock + # records read by the inherited engines. Standard-library files are outside + # the repository and are recorded instead by the replay's Python version. + paths={Path(__file__).resolve(),HERE/'inputs/p16-controller.json', + HERE/'inputs/bit-stock.json'} + for module in tuple(sys.modules.values()): + name=getattr(module,'__file__',None) + if name: + path=Path(name).resolve() + if path.is_relative_to(ROOT) and path.is_file():paths.add(path) + result['source_sha256']={p.relative_to(ROOT).as_posix():sha256(p.read_bytes()).hexdigest() for p in sorted(paths)} + args.out.write_text(json.dumps(result,indent=2,sort_keys=True)+'\n') + print(json.dumps({k:result[k] for k in ('status','kappa','gain_over_PR4535','raw_root_interval','paid_calls','compiler')},indent=2)) diff --git a/research/hyperplane-retiming/second_intervals.py b/research/hyperplane-retiming/second_intervals.py new file mode 100644 index 0000000000..4fc05ab081 --- /dev/null +++ b/research/hyperplane-retiming/second_intervals.py @@ -0,0 +1,291 @@ +#!/usr/bin/env python3 +"""Exact tariffs for productive helpers with heterogeneous target sizes. + +This is a conditional recursion-contract probe, not a new kappa claim. The +native helper adapters, main controller closure, scalar/precision charges, +and the mixed-target outer theorem remain separate obligations. + +Apache-2.0. Substantial OpenAI assistance. The original pruned native profile +and helper inventory come from the preserved kappa-function-composition work. +Mixed-target balance follows Jacob Alan Sussman's PR4268 proposal; this file +does not reprove or admit its all-size or integer-multiplication transfer. +The rational elementary-function enclosure follows the independently retained +productive_helper_forest.py recovery certificate, with fresh source identity. +""" +from collections import Counter +from fractions import Fraction as Q +from functools import lru_cache +from hashlib import sha256 +from pathlib import Path +import argparse +import json +import math +import sys + +sys.dont_write_bytecode = True +HERE = Path(__file__).resolve().parent +NATIVE = Counter({1:2453, 2:716, 3:224, 4:74, 5:48}) +HELPERS = Counter({5:28, 6:18, 7:56, 8:93, 9:213}) +OLD_PAIRS = [(56,9,7),(56,7,9),(18,9,6),(18,6,9), + (16,9,5),(16,5,9),(44,8,8)] +OLD_MIDDLE = [(93,8),(56,7),(18,6),(28,5),(29,0)] + +def need(ok, message): + if not ok: + raise AssertionError(message) + +@lru_cache(None) +def log_interval(r): + def odd_series(x): + z = (x-1)/(x+1) + n = 80 + low = 2*sum((z**(2*j+1)/(2*j+1) for j in range(n)), Q(0)) + high = low+2*z**(2*n+1)/((2*n+1)*(1-z*z)) + return low, high + exponent = r.bit_length()-1 + a,b = odd_series(Q(2)) + c,d = odd_series(Q(r,2**exponent)) + return exponent*a+c, exponent*b+d + +def exp_interval(x): + need(0 <= x < 1, 'Enclosure range') + term = total = Q(1) + n = 48 + for j in range(1,n+1): + term *= x/j + total += term + following = term*x/(n+1) + return total, total+following/(1-x/(n+2)) + +@lru_cache(None) +def h_interval(r,c): + if r in (0,1): + return Q(r),Q(r) + a,b = log_interval(r) + low,_ = exp_interval(c*a) + _,high = exp_interval(c*b) + return Q(r)/high,Q(r)/low + +def moment(profile,c): + low=high=Q(0) + for r,n in profile.items(): + a,b=h_interval(r,c) + low += n*(a if n >= 0 else b) + high += n*(b if n >= 0 else a) + return low,high + +def show(bounds): + scale=10**35 + low,high=bounds + a=low.numerator*scale//low.denominator + b=-((-high.numerator*scale)//high.denominator) + def fixed(n): + sign='-' if n<0 else '' + s=str(abs(n)).rjust(36,'0') + return sign+s[:-35]+'.'+s[-35:] + return {'lower':fixed(a),'upper':fixed(b)} + +def split_rank(r,maximum): + """Least concave tariff partition with positive integers <= maximum.""" + need(maximum>=1 and r>=0, 'Legal split') + q,remainder=divmod(r,maximum) + result=Counter() + if q: + result[maximum]+=q + if remainder: + result[remainder]+=1 + return result + +def split_profile(profile,maximum): + result=Counter() + for r,n in profile.items(): + for child,count in split_rank(r,maximum).items(): + result[child]+=n*count + return result + +def add_scaled(target,source,multiple=1): + for key,value in source.items(): + target[key]+=multiple*value + +def base_case(p,minimum,pairs=None,middle=None): + """Expand all role inventories; one fresh global field per unhosted role.""" + need(p in (1,2), 'Only reconstructed p1 and p2 schedules are in scope') + need(2<=minimum<=41, 'Finite minimum-target menu') + calls=2*p+1 + main_fields=224*p + main_rank=16*p+9 + inventories=[Counter(HELPERS) for _ in range(calls)] + paid=split_profile(NATIVE,minimum-1) + paid=Counter({r:calls*n for r,n in paid.items()}) + paid[1]+=8*calls # same-width H completion, never waived + targets=Counter({main_rank:main_fields}) + if p==1: + need(pairs is None and middle is None, 'p1 has no original idle bins') + else: + pairs=pairs if pairs is not None else [(224,0,0)] + middle=middle if middle is not None else [(224,0)] + need(sum(n for n,a,b in pairs)==224, 'Each pair window has 224 bins') + need(sum(n for n,a in middle)==224, 'Middle window has 224 bins') + for stages in [(0,1),(3,4)]: + for n,a,b in pairs: + need(a+b<=16 and a in (0,5,6,7,8,9) and b in (0,5,6,7,8,9), 'Pair capacities') + for stage,r in zip(stages,(a,b)): + if r: + inventories[stage][r]-=n + add_scaled(paid,split_rank(16-a-b,minimum-1),n) + for n,r in middle: + need(r in (0,5,6,7,8), 'Middle capacity') + if r: + inventories[2][r]-=n + add_scaled(paid,split_rank(8-r,minimum-1),n) + global_roles=Counter() + for inventory in inventories: + need(all(n>=0 for n in inventory.values()), 'No helper role used twice') + global_roles.update(inventory) + for r,n in global_roles.items(): + if not n: + continue + target=max(r,minimum) + targets[target]+=n + add_scaled(paid,split_rank(target-r,minimum-1),n) + paid=+paid + targets=+targets + need(max(paid)0] + # Middle bins are independent single slots; choose positive-gain roles first. + candidates=sorted(((sp(8)-sp(8-r)-value(r),r) for r in (5,6,7,8)),reverse=True) + middle=[] + left=224 + for gain,r in candidates: + if gain>1e-12: + n=min(HELPERS[r],left) + if n: + middle.append((n,r)) + left-=n + if left: + middle.append((left,0)) + return pairs,middle,{'status':int(out.status),'message':out.message,'not_an_exact_optimality_claim':True} + +def run(discover=False): + candidates=[] + for p in (1,2): + for minimum in range(2,26): + candidates.append(base_case(p,minimum)) + candidates.append(base_case(2,9,OLD_PAIRS,OLD_MIDDLE)) + discovery=[] + if discover: + for c in (.001745,.004): + for minimum in range(5,18): + pairs,middle,meta=discover_pair_patterns(minimum,c) + case=base_case(2,minimum,pairs,middle) + case['discovery_target']=str(c) + case['solver']=meta + discovery.append(case) + candidates.extend(discovery) + best={} + for p in (1,2): + for text in ('0.001745','0.004'): + c=Q(text) + rows=[case for case in candidates if case['p']==p] + ranked=sorted(rows,key=lambda case:-numerical_value(case['signed'],float(c))) + winner=ranked[0] + # Certify that this displayed winner beats all numerically distinct + # profiles in the finite scanned menu, not all possible schedules. + win=moment(winner['signed'],c) + for case in ranked[1:]: + if dict(case['signed'])!=dict(winner['signed']): + need(win[0]>moment(case['signed'],c)[1], 'Exact finite-menu ordering') + best[f'p{p}_{text}']=serialize_case(winner) + controls={} + wrong=base_case(1,6) + wrong['targets'][6]+=1 + controls['unearned_output_credit_rejected']=(sum(r*n for r,n in wrong['targets'].items())-wrong['rank_bill']!=wrong['rank_margin']) + controls['rank5_child_with_job5_rejected']=not(5<5) + need(all(controls.values()), 'Corruption controls') + return {'schema':'productive-helper-mixed-target-tariff/1', + 'status':'PASS_CONDITIONAL_EXACT_ACCOUNTING', + 'source_sha256':sha256(Path(__file__).read_bytes()).hexdigest(), + 'native_profile':dict(NATIVE),'helper_inventory':dict(HELPERS), + 'assumed_recursive_rule':'sum_paid n_r r^(1-C) < sum_targets W_k k^(1-C); max_paid_rank < min_target_rank', + 'best_in_finite_menu':best, + 'fixed_p2_minimum9':serialize_case(base_case(2,9,OLD_PAIRS,OLD_MIDDLE)), + 'discovery_candidates':[serialize_case(c) for c in discovery], + 'controls':controls, + 'not_proved':['native whole-helper adapters and arbitrary-input block diagonal contract', + 'correct main controller and all its heads/caches/cleanup', + 'literal eligibility of any displayed head-cut grant', + 'mixed-target all-size recursion in this native model', + 'finite-precision integer-multiplication transfer and scalar/stock costs'], + 'new_kappa':False} + +def main(): + parser=argparse.ArgumentParser(description=__doc__) + parser.add_argument('--discover',action='store_true') + parser.add_argument('--output',type=Path,default=HERE/'MIXED-TARGET-PROBE.json') + args=parser.parse_args() + result=run(args.discover) + args.output.write_text(json.dumps(result,indent=2,sort_keys=True)+'\n') + print(json.dumps({'status':result['status'],'best':{k:v['targets_at_C'][k.split('_',1)[1]]['after_native_completion_before_main_closure'] for k,v in result['best_in_finite_menu'].items()}},sort_keys=True)) + +if __name__=='__main__': + main() diff --git a/research/hyperplane-retiming/verify.py b/research/hyperplane-retiming/verify.py index 56d0fa1e0e..f85817e496 100644 --- a/research/hyperplane-retiming/verify.py +++ b/research/hyperplane-retiming/verify.py @@ -1,3 +1,130 @@ #!/usr/bin/env python3 -"""Replace this draft with a scoped verifier and meaningful controls.""" -raise SystemExit("DRAFT: no research result has been verified") +"""Exact candidate replay. Apache-2.0; substantial OpenAI Codex assistance.""" +from collections import Counter +from copy import deepcopy +from fractions import Fraction as Q +from hashlib import sha256 +from pathlib import Path +import argparse,gzip,importlib.util,json,subprocess,sys +sys.dont_write_bytecode=True +HERE=Path(__file__).resolve().parent +ROOT=HERE.parents[1] +def need(ok,message): + if not ok:raise ValueError(message) +def read(p): + b=p.read_bytes();return json.loads(gzip.decompress(b) if p.suffix=='.gz' else b) +def load(p,name): + s=importlib.util.spec_from_file_location(name,p);m=importlib.util.module_from_spec(s);sys.modules[name]=m;s.loader.exec_module(m);return m +def authenticate(): + for row in read(HERE/'SOURCES.json')['files']: + if row['usage']=='input':need(sha256((ROOT/row['path']).read_bytes()).hexdigest()==row['sha256'],'Changed authenticated input '+row['path']) +def span(B): + s={0} + for x in B:s|={y^x for y in tuple(s)} + return s +def gates(word): + out={};phase=None;ordinal=Counter() + for e in word: + if e[0]=='phase':phase=e[1] + elif e[0]=='scalar': + g=e[1];refs=g[1:3] if g[0] in ('add','copy') else g[1:2] + if all(r[0]=='L' for r in refs):out[phase,ordinal[phase]]=e;ordinal[phase]+=1 + return out +def synth(c,raw): + cur=c['start'][:];out=[];spaces=list(map(span,c['frames'])) + def move(r,f): + old=cur[r] + if old==f:return + need(spaces[old]0 and margin(hi)[1]<0,'Strict p16 raw crossing enclosure') + oldP={int(k):v for k,v in source['canonical']['local_profile'].items()};oldH=Counter(len(c['frames'][source['canonical']['final'][r]])-len(c['frames'][source['canonical']['start'][r]]) for r in range(224,632)) + local=[] + for C in (Q('.0030216'),Q('.004')): + nt,np=E.moment(H,1-C),E.moment(P,1-C);ot,op=E.moment(oldH,1-C),E.moment(oldP,1-C);gain=nt[0]-np[1]-ot[1]+op[0];need(gain>0,'Strict entire local moment improvement');local.append({'C':str(C),'gain_lower':str(gain)}) + return {'status':'PASS_COORDINATED_HYPERPLANE_NATIVE_PHASE_MOMENT','native':checks,'changed_helper_entrances':len(patch['helper_entrances']),'changed_contacts':len(patch['contacts']),'helpers':dict(H),'paid':P,'new_paid_phase_pairs':phase_paid,'changed_helper_phase_normalizers':phase_helpers,'whole_targets':dict(T),'whole_paid':dict(paid),'rank_surplus':752,'raw_crossing':[str(lo),str(hi)],'raw_lower_margin':str(margin(lo)[0]),'raw_upper_margin':str(margin(hi)[1]),'local_strict_gain':local,'controls':['false_paid_rank_rejected','wrong_absolute_phase_rejected'],'new_kappa':None,'scope':'Exact local supplier, all-fiber gauge proof, complete p16 raw moment. Finite/compiler, precision and outer admission remain separate.'} +if __name__=='__main__': + p=argparse.ArgumentParser();p.add_argument('--write',action='store_true');a=p.parse_args() + if sys.flags.optimize: + # Inherited source assertions remain enabled even under an optimized caller. + raise SystemExit(subprocess.run([sys.executable,'-I','-B',str(Path(__file__).resolve()),*(['--write'] if a.write else [])],check=False).returncode) + result=run();target=HERE/'RESULT.json' + if a.write:target.write_text(json.dumps(result,sort_keys=True,indent=2)+'\n') + else:need(read(target)==json.loads(json.dumps(result)),'Deterministic complete receipt') + print(result['status'],flush=True) From 225b15eb34929dfcb68c50310ab8d699345e67de Mon Sep 17 00:00:00 2001 From: Cinna Davis <1337isnot1337@users.noreply.github.com> Date: Thu, 22 Oct 2026 10:12:48 -0500 Subject: [PATCH 3/6] Bind arithmetic inputs and register complete supplier replay --- research/hyperplane-retiming/SOURCES.json | 35 +++++++++++++++++++++++ research/hyperplane-retiming/TASK.json | 2 +- research/hyperplane-retiming/VERIFY.json | 7 ++++- 3 files changed, 42 insertions(+), 2 deletions(-) diff --git a/research/hyperplane-retiming/SOURCES.json b/research/hyperplane-retiming/SOURCES.json index a51dc1521d..e9b9d44add 100644 --- a/research/hyperplane-retiming/SOURCES.json +++ b/research/hyperplane-retiming/SOURCES.json @@ -132,6 +132,41 @@ "pin": "head:b77d279a72fe195a2dc945201a9723f805a451b8:research/hyperplane-retiming/vendor/research/t74-native-fast/vendor/native/new/code/borrow/vendor/clifford/clifford_exact.py", "git_blob": "166841a037f069249f6f7f6dedb89248812f59e2", "sha256": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962" + }, + { + "path": "research/hyperplane-retiming/inputs/bit-stock.json", + "usage": "input", + "pin": "head:f26c1166e12dd45dff2cfed9b00eec1e42507389:research/hyperplane-retiming/inputs/bit-stock.json", + "git_blob": "e0695152c98d727edfd0d2034b58a1c7e8682c0c", + "sha256": "6ebfc8c0f09166f4834e9d7427410cb31aefff2cd4d4ce588c8e52c9c70e9a0f" + }, + { + "path": "research/hyperplane-retiming/inputs/p16-controller.json", + "usage": "input", + "pin": "head:f26c1166e12dd45dff2cfed9b00eec1e42507389:research/hyperplane-retiming/inputs/p16-controller.json", + "git_blob": "49a2f0675819f9deeea27ed77be2c2b6ff2e87e5", + "sha256": "1f5d6aa267e4e66048818714b5d3b5eae17a58abe91d15deeaa34574f7391a5f" + }, + { + "path": "research/hyperplane-retiming/second_intervals.py", + "usage": "input", + "pin": "head:f26c1166e12dd45dff2cfed9b00eec1e42507389:research/hyperplane-retiming/second_intervals.py", + "git_blob": "4fc05ab08138218ba9f09e5c89b649afae7c914e", + "sha256": "011c3c9d0cf81103dc84d709a0e36793eb7c5ae3f23c85eac27650ef13afa04a" + }, + { + "path": "research/hyperplane-retiming/outer_ledger.py", + "usage": "input", + "pin": "head:f26c1166e12dd45dff2cfed9b00eec1e42507389:research/hyperplane-retiming/outer_ledger.py", + "git_blob": "340e1f0ffb8a1a9c38fbbd9119580b6d23e01b59", + "sha256": "d097e55f06c3f244f2074ffd7c1a0a5f3c4b4b6a6accf9619d1dde5c0ae85e15" + }, + { + "path": "research/hyperplane-retiming/ARITHMETIC-ORIGINS.json", + "usage": "input", + "pin": "head:f26c1166e12dd45dff2cfed9b00eec1e42507389:research/hyperplane-retiming/ARITHMETIC-ORIGINS.json", + "git_blob": "d426d4cc662e72fe6b5aacf4700fb8a1953ebe18", + "sha256": "25e26669a25161c749aaf62525b5c96bf0aa3b82bd58f31ef44cec4618b6e901" } ] } diff --git a/research/hyperplane-retiming/TASK.json b/research/hyperplane-retiming/TASK.json index 8de9605da3..d8ea0b458f 100644 --- a/research/hyperplane-retiming/TASK.json +++ b/research/hyperplane-retiming/TASK.json @@ -72,7 +72,7 @@ "scope_status": "changed", "actual_scope": "Can the installed QQ16 caller win a complete matched protocol bill, or can a changed demand eliminate actual paid work?", "scope_change_reason": "Explicit owner task asks for a much higher kappa. This changes supplier contact and helper gauges using a globally coordinated hyperplane cut, rather than repeating a fixed controller invoice search.", - "bottleneck_link": "TODO: explain the causal connection or label this as a side result", + "bottleneck_link": "A changed complete native paid/helper invoice is the binding input to the retained p16 mixed-target compiler. Coordinating scalar gauges and arbitrary helper entrances produces a strict moment gain while keeping the actual main interface.", "budget_minutes": 60, "stop_rule": "Do not promote a discovery objective or raw crossing into a selected or unconditional theorem.", "outcome": "partial", diff --git a/research/hyperplane-retiming/VERIFY.json b/research/hyperplane-retiming/VERIFY.json index 3f4ee4eae7..a2d538cd79 100644 --- a/research/hyperplane-retiming/VERIFY.json +++ b/research/hyperplane-retiming/VERIFY.json @@ -20,7 +20,12 @@ "research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/power_two_balance.py", "research/hyperplane-retiming/vendor/research/kappa-rebuild/complex/rebuild_native.py", "research/hyperplane-retiming/vendor/research/missing-join-frame/PATCH.json", - "research/hyperplane-retiming/vendor/research/t74-native-fast/vendor/native/new/code/borrow/vendor/clifford/clifford_exact.py" + "research/hyperplane-retiming/vendor/research/t74-native-fast/vendor/native/new/code/borrow/vendor/clifford/clifford_exact.py", + "research/hyperplane-retiming/inputs/bit-stock.json", + "research/hyperplane-retiming/inputs/p16-controller.json", + "research/hyperplane-retiming/second_intervals.py", + "research/hyperplane-retiming/outer_ledger.py", + "research/hyperplane-retiming/ARITHMETIC-ORIGINS.json" ], "commands": [ { From 058941ce16f7a8676794556501cb12f7f5f5834f Mon Sep 17 00:00:00 2001 From: Cinna Davis <1337isnot1337@users.noreply.github.com> Date: Thu, 22 Oct 2026 10:25:33 -0500 Subject: [PATCH 4/6] Clarify round-two source and stronger pending round-three baseline --- research/hyperplane-retiming/PROOF.md | 2 +- research/hyperplane-retiming/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/research/hyperplane-retiming/PROOF.md b/research/hyperplane-retiming/PROOF.md index d0d09dd1f3..5a75801743 100644 --- a/research/hyperplane-retiming/PROOF.md +++ b/research/hyperplane-retiming/PROOF.md @@ -4,7 +4,7 @@ Prepared by Cinna Davis with substantial OpenAI Codex assistance. Apache-2.0. ## Exact changed supplier -The predecessor is Cao Yifan's PR4610, head `1eb8da6cfb35512c0cc2533413e5ca42f48e13c6`. Its emitted actual word, including unchanged native maps and main endpoint adapters, is frozen byte for byte. PR4470 and its credited predecessor chain supply the independent-helper/controller contract. PR4654's chart grammar motivates coordinated changes; its changed seven-axis main interface is not substituted here. +The predecessor is the round-two word `research/warp-interface-20261022/ACTUAL-WORD.json.gz` in Cao Yifan's PR4610, head `1eb8da6cfb35512c0cc2533413e5ca42f48e13c6`. The same head also contains a stronger round-three word, used by #4635; this package does not supersede it. The pinned round-two actual word, including unchanged native maps and main endpoint adapters, is frozen byte for byte. PR4470 and its credited predecessor chain supply the independent-helper/controller contract. PR4654's chart grammar motivates coordinated changes; its changed seven-axis main interface is not substituted here. Let C_U be the retained canonical gauge for binary subspace U. At a shared scalar contact, every operand has the same C_U. A physical transport is exactly C_V C_U^-1. Replace 49 contacts whose original frame is the line with registry ID 114 by the zero frame, and change the 13 helper entrances listed in PATCH.json from the same line to zero. These changes are one coherent connected component of the contact graph. All main endpoints, all helper exits, scalar opcodes/order/coefficients, shared logical native warps, main adapters and owned center instructions stay fixed. diff --git a/research/hyperplane-retiming/README.md b/research/hyperplane-retiming/README.md index 848529410a..00eaaf3841 100644 --- a/research/hyperplane-retiming/README.md +++ b/research/hyperplane-retiming/README.md @@ -2,7 +2,7 @@ Prepared by Cinna Davis with substantial OpenAI Codex assistance. Apache-2.0. -A coordinated change to 49 scalar-contact frames and 13 arbitrary helper entrances improves Cao Yifan's PR4610 supplier. The exact p16 raw crossing increases from about **0.00302155515** to **(0.0030216758, 0.0030216759)**. Fresh native/phase checks and a finite/compiler/outer arithmetic replay support **conditional κ = 0.00302166**, versus PR4610's .00302152 under the retained assumptions. This is a small improvement, not the requested large bottleneck breakthrough. No claim is made to supersede every other pending proposal. +A coordinated change to 49 scalar-contact frames and 13 arbitrary helper entrances improves the **round-two word** in Cao Yifan's PR4610. The exact p16 raw crossing increases from about **0.00302155515** to **(0.0030216758, 0.0030216759)**. Fresh native/phase checks and a finite/compiler/outer arithmetic replay support **conditional κ = 0.00302166**, versus that round's .00302152 under the retained assumptions. This is a small improvement, not the requested large bottleneck breakthrough. **This is not the pending frontier:** #4610 also contains a newer round-three word, priced at conditional κ=.0030217754 in #4635. The frozen source used here is `research/warp-interface-20261022/ACTUAL-WORD.json.gz`, not `research/kappa-round3-warp-20261022/ACTUAL-WORD.json.gz`. The coordinated-cut search is being rebound to the latter. The new local paid census is `{1:2183,2:416,3:507,4:135,5:40,8:8}`. Independent helper jobs are `{4:28,7:5,8:38,9:337}`. Both local rank masses increase by 13; the whole p16 rank surplus stays 752. The gain comes from a better distribution under the concave moment, not additional rank surplus. From 1cff01f5b7673c537afa55733729377f8afeb427 Mon Sep 17 00:00:00 2001 From: Cinna Davis <1337isnot1337@users.noreply.github.com> Date: Thu, 22 Oct 2026 10:39:07 -0500 Subject: [PATCH 5/6] Preserve newest-word shared-map and center-gauge cut searches --- research/hyperplane-retiming/.gitignore | 4 + research/hyperplane-retiming/README.md | 2 +- .../hyperplane-retiming/SEARCH-ORIGINS.json | 8 ++ research/hyperplane-retiming/SEARCH.json | 30 +++++++ research/hyperplane-retiming/SEARCH.md | 22 +++++ .../inputs/pr4610-round3-word.json.gz | Bin 0 -> 207673 bytes .../search/center_model.py | 29 ++++++ research/hyperplane-retiming/search/graph.py | 63 +++++++++++++ .../hyperplane-retiming/search/joint_cut.py | 48 ++++++++++ .../hyperplane-retiming/search/multi_cut.py | 64 ++++++++++++++ .../hyperplane-retiming/search/multi_joint.py | 44 ++++++++++ .../search/quotient_cut.py | 83 ++++++++++++++++++ 12 files changed, 396 insertions(+), 1 deletion(-) create mode 100644 research/hyperplane-retiming/.gitignore create mode 100644 research/hyperplane-retiming/SEARCH-ORIGINS.json create mode 100644 research/hyperplane-retiming/SEARCH.json create mode 100644 research/hyperplane-retiming/SEARCH.md create mode 100644 research/hyperplane-retiming/inputs/pr4610-round3-word.json.gz create mode 100644 research/hyperplane-retiming/search/center_model.py create mode 100644 research/hyperplane-retiming/search/graph.py create mode 100644 research/hyperplane-retiming/search/joint_cut.py create mode 100644 research/hyperplane-retiming/search/multi_cut.py create mode 100644 research/hyperplane-retiming/search/multi_joint.py create mode 100644 research/hyperplane-retiming/search/quotient_cut.py diff --git a/research/hyperplane-retiming/.gitignore b/research/hyperplane-retiming/.gitignore new file mode 100644 index 0000000000..cc4e5ea548 --- /dev/null +++ b/research/hyperplane-retiming/.gitignore @@ -0,0 +1,4 @@ +search/*-best.json +search/*-screen.json +__pycache__/ +search/__pycache__/ diff --git a/research/hyperplane-retiming/README.md b/research/hyperplane-retiming/README.md index 00eaaf3841..8d3e819b76 100644 --- a/research/hyperplane-retiming/README.md +++ b/research/hyperplane-retiming/README.md @@ -2,7 +2,7 @@ Prepared by Cinna Davis with substantial OpenAI Codex assistance. Apache-2.0. -A coordinated change to 49 scalar-contact frames and 13 arbitrary helper entrances improves the **round-two word** in Cao Yifan's PR4610. The exact p16 raw crossing increases from about **0.00302155515** to **(0.0030216758, 0.0030216759)**. Fresh native/phase checks and a finite/compiler/outer arithmetic replay support **conditional κ = 0.00302166**, versus that round's .00302152 under the retained assumptions. This is a small improvement, not the requested large bottleneck breakthrough. **This is not the pending frontier:** #4610 also contains a newer round-three word, priced at conditional κ=.0030217754 in #4635. The frozen source used here is `research/warp-interface-20261022/ACTUAL-WORD.json.gz`, not `research/kappa-round3-warp-20261022/ACTUAL-WORD.json.gz`. The coordinated-cut search is being rebound to the latter. +A coordinated change to 49 scalar-contact frames and 13 arbitrary helper entrances improves the **round-two word** in Cao Yifan's PR4610. The exact p16 raw crossing increases from about **0.00302155515** to **(0.0030216758, 0.0030216759)**. Fresh native/phase checks and a finite/compiler/outer arithmetic replay support **conditional κ = 0.00302166**, versus that round's .00302152 under the retained assumptions. This is a small improvement, not the requested large bottleneck breakthrough. **This is not the pending frontier:** #4610 also contains a newer round-three word, priced at conditional κ=.0030217754 in #4635. The frozen source used here is `research/warp-interface-20261022/ACTUAL-WORD.json.gz`, not `research/kappa-round3-warp-20261022/ACTUAL-WORD.json.gz`. SEARCH.md records the completed rebound: 511 one-direction cuts and 3,449 sampled higher-codimension cuts, including shared-map and owned-center changes, found no profitable candidate in that restricted family. Optional discovery code and the exact newer input are preserved. The new local paid census is `{1:2183,2:416,3:507,4:135,5:40,8:8}`. Independent helper jobs are `{4:28,7:5,8:38,9:337}`. Both local rank masses increase by 13; the whole p16 rank surplus stays 752. The gain comes from a better distribution under the concave moment, not additional rank surplus. diff --git a/research/hyperplane-retiming/SEARCH-ORIGINS.json b/research/hyperplane-retiming/SEARCH-ORIGINS.json new file mode 100644 index 0000000000..5f4ab6a16d --- /dev/null +++ b/research/hyperplane-retiming/SEARCH-ORIGINS.json @@ -0,0 +1,8 @@ +{ + "latest_word": { + "path": "inputs/pr4610-round3-word.json.gz", + "source": "head:1eb8da6cfb35512c0cc2533413e5ca42f48e13c6:research/kappa-round3-warp-20261022/ACTUAL-WORD.json.gz", + "sha256": "7679daa4ec6a40f56fc7f0202379a6f454310e94945aba4f48beaaaafb838d05" + }, + "discovery": "Own minimum-cut code; classical maximum closure and two-subspace simultaneous transport. SciPy is used only for discovery, never admission." +} diff --git a/research/hyperplane-retiming/SEARCH.json b/research/hyperplane-retiming/SEARCH.json new file mode 100644 index 0000000000..d29e215e37 --- /dev/null +++ b/research/hyperplane-retiming/SEARCH.json @@ -0,0 +1,30 @@ +{ + "arithmetic": "Floating power discovery and integer-capacity cuts; rank-one capacities use adaptive precision with hard constraints funded above the all-zero cut. The higher-codimension run used a fixed 100000 scale. No exact optimality or impossibility claim.", + "code_sha256": { + "search/center_model.py": "14a8877a3733ca6029d554eb72b3b5a4ff9a2931207f83282075d4f5a54929e2", + "search/graph.py": "0759cccb4b0122abd656f15dd9e6f7db662a7d8634c6e2f7465c35140df7b66d", + "search/joint_cut.py": "9d67ab08e3bc9ca5edc31e8ccc8f7b9052d01b845bf0bcee948ebcefcd33d013", + "search/multi_cut.py": "cb520049923a4909ce3fc561c8663bc56b16994acc2fd703de2305c62e1c08a3", + "search/multi_joint.py": "70ccf725d7eca33defc013b9489398856f6788c13ac64745333822d5003787b5", + "search/quotient_cut.py": "5fe59394a17bfdd15ee65c19e30fb3ad441edce875fbd4e41e7a2e73f31f338e" + }, + "constraints": "One common kernel per instance; all scalar opcodes/order fixed; actual main endpoints fixed; old full-dimension warp gauges fixed; all shared line/late native subspace pairs satisfy the two-subspace incidence condition; owned center gauges may move coherently.", + "discovery_environment": { + "python": "3.14", + "scipy": "1.18.1" + }, + "higher_codimension_cases": { + "2": 2937, + "3": 512 + }, + "observed_profitable_cuts": 0, + "rank_one_joint_map_center_cuts": 511, + "scope": "No improved round-three candidate found in these bounded families. The admitted positive PATCH/RESULT/ARITHMETIC remain the explicitly identified older round-two construction.", + "source": { + "path": "inputs/pr4610-round3-word.json.gz", + "sha256": "7679daa4ec6a40f56fc7f0202379a6f454310e94945aba4f48beaaaafb838d05", + "source": "head:1eb8da6cfb35512c0cc2533413e5ca42f48e13c6:research/kappa-round3-warp-20261022/ACTUAL-WORD.json.gz" + }, + "status": "BOUNDED_FLOATING_DISCOVERY_NO_NEW_FRONTIER", + "t": ".9969782" +} diff --git a/research/hyperplane-retiming/SEARCH.md b/research/hyperplane-retiming/SEARCH.md new file mode 100644 index 0000000000..785f2780c4 --- /dev/null +++ b/research/hyperplane-retiming/SEARCH.md @@ -0,0 +1,22 @@ +# Newest-word discovery checkpoint + +The admitted positive construction in this package uses the explicitly pinned **round-two** word. The source head also contains Cao Yifan's stronger round-three word. Confusing those two artifacts would overstate the contribution. SEARCH-ORIGINS.json pins the latter independently; #4635 proposes conditional κ=.0030217754 from it. This package does not claim a frontier increase. + +The optional discovery code uses the newest word and explores fixed common kernels while retaining the actual main ABI. It includes every chronological zero-length bridge, allowing it to become paid. Owned center source/scatter gauges can move coherently; their complete new rank is included. Full-dimension warp gauges are kept fixed. + +The shared native maps may change jointly. A pair of subspace contracts A->B and U->V can be realized by one invertible map exactly when their two dimensions and intersection dimension agree. Extend an intersection basis first to A and U, then to the ambient space; match the corresponding target basis. This constructs the map. The retained two-contract operators have one line contract and one late subspace contract. Under a common kernel deletion, a line is either unchanged or zero. Matching deletion dimensions gives switch equalities or fixed-zero constraints. If the retained line is inside the late subspace and only one of its two representatives lies in the kernel, a late deletion is forbidden. The other cases preserve incidence automatically. Repeated occurrences of the same line contract are consistent because deleting it adds only the zero-subspace contract. + +Thus this restricted shared-map family still reduces to minimum-weight closure, rather than pricing each occurrence with a different incompatible G. An observed positive cut would require emission of the actual common maps, fresh all-column/phase replay, and the entire compiler/outer bill before admission. + +The fresh bounded screen observed no profitable cut among 511 rank-one common kernels, 2,937 rank-two kernels and 512 rank-three kernels. Rank-two cases combine actual two-dimensional source frames with a seeded sample; they are not all 43,435 planes. The powers and capacities are discovery approximations. Rank-one capacities are adaptively scaled and every hard implication is funded above the feasible all-zero cut; SciPy's int32 edge-capacity limit is checked. Higher-codimension discovery used scale 100,000. These searches are neither exact ceilings nor an impossibility proof, and can miss very small gains. + +With SciPy installed, the separate optional searches are: + +```sh +python3 -B research/hyperplane-retiming/search/joint_cut.py +python3 -B research/hyperplane-retiming/search/multi_joint.py +``` + +They write ignored discovery outputs beside their scripts. Admission in VERIFY.json requires only the standard library and does not execute these searches. SEARCH.json binds the code, input, case counts and precise evidence boundary. No new native candidate is admitted from this screen. + +Next useful variations are arbitrary changed prelude line directions rather than only common-kernel deletions, moving formerly full-dimension warp gauges with their additional simultaneous-subspace constraints, a different scalar chronology, or a changed owned-center recipe. The current result does not exclude them. diff --git a/research/hyperplane-retiming/inputs/pr4610-round3-word.json.gz b/research/hyperplane-retiming/inputs/pr4610-round3-word.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..46d929df83817b85a5387bcdb9745e0627d6366e GIT binary patch literal 207673 zcmZs?1#BF!vZ&oQZ5SGExM61IhGE0Z%*+f8Gs9-X3>#*KhMAKMGczX*{ykUv_3n9k z)@c06vPYJsF^p}ZDA-T`NnbwBI@e=8$|@P37(Py|EU%GTGc#I2oZ(uEC3D=o>1QtU z%g(W8O_S{?L`}@rwcw|FDT#s^wKDK;(`aUcXy&V&O~2P|d%=%$M#1+hh<*3Vl)eA^ z*rwLj z{|2x_S#J?MkVfafU>_bxt5fCB+WX&7=1|m|0p|$tY z3Sra#0~ZND>WH*kTM$l(+|T=1Cr0$MoWgEy)JrVF9bU@k*mc_87LIWlHs4QNkksw` zU7!8mmd^YKfS>#|4F{{c-$DysKM({r{e50;83kWospI64i-RyCaIM-f7 z4$tm8h%IQq;AA?SCSH|T-9uc-c%n@wU3SPW{f47S|d7P`jt6G^O}FwBs!W zz)hvL-~`q=2$4Q7?1XJz@sUq`Xklh0d&o_v z3U~(1F!%A0s1sHl*cGA+xF*<$P2@4N_wp)X)Y-i>`1P?udpuXFIRxV6|KpxE{qX>O z8vRJ^Iy_A*;rw`~^t_1-@=|`@P$+Xr%g*-RnD47{&qCIu3`#}g&E5#nxs+?_^Ozeu z`Ek-P-)rU)oI0DNTV8K((rn}EMX=5EzM3kiTsS%M=KoC^D)im8^ttha)0M{N*tO~W zt!<*lu>Zwhzhqjk?pWq*efrTZhss<2rxC34$K~nQ6YSU z`Jt`1pxr;MKCo8vlPIPHle;2bvChpU;5sY$gK)PcBGv?Cv^}#fWF}EYelKFO_DFwW+u+ zu*XYk&z)~oNj~(@H)_~zXo6`W`{wTxkwrZQgy&x-*IzNRFx-REE_S-X0=?I4wH^Lc zah%_euzJf?ICnNN9HSq42&(e-t1GXz5dF4;;<^qwaePrY&VvV|$R16l+bjNUI$6tW z^Gz##;D%Psz<)szz93MYP{ghhpk1#nfh_3IdP~{U8suBT=wHu&$-Y{>3-Fh<_poA3 zX*tQ~i2GA38|Q07cU%<{YDC0S=@PKx45@(e-0-=sPkZ|D z@yK{BgzGQGqIpMMv33~z(^-4TcY4lu_Eyfz?@CGBLq@V0+0!yPR9z?hDRg)>-8Vn3p<1yqMdqv4%6s|rDVsCcnH>7a;*fp>}fWQ*h>D& z;dIs?e$1>F72-{6t)TM&V6EMj-+DB?6Wr|;`L0?8xI+hXg?vJy5tNGA`` z&?&Cl@s};TT)_7X?AhQj595m`j{+b(e>I}!lGR@LD?@e1=Gq6C5PVdWU9GdbHmZ$F z*k~(GE-UvG167sH^>H4XPN1q&)sR&BrsKm=_XQ4~S2!(f2n1si8+TER%KVkw_Y-VRQs;HBG*CVS(o99XL`q|$Wd+JU@M{u1l zl=<>OoQl}+mB3RppoaNXScFHTN^xtTmPt~if5^hdR8HnEXO$% z>E-_r9jy@J0YEf3T3|Y|$*L?p1U{0TP$@ObYwle3t z_-}CqJgv}*D898XnrsnB^vR;?+dWT*DHg{1lH$7__ z1hr&TKU`ChwW(MhF@e?z-0 z3u%l`qOHcBa)ulg*0))GU9 z(Bxa*3i^3)sm;Jeh{O9%48%rxN1?h`3t5u0=#l0FT;soXKDpQSdx;x?lVBaHg-Hw8 zTo5M6{xa||`lH&sB^m7LoU8^H`k<2*U?XuSbtSF6>JNU@zNAa~TE+9N<7T61_`$-g zqUA@^YmROTI0i4=vb-3hD7W=Ec#T!eQ7&?zqvz+%#Mzo!eI_#hT?~mbmCWu5aBDrJ zgp1ZmATR6I@Fk)RN44~m&=D3Py+Y(5y(tP90md2#5j1Bc9oGUVut4W(6K3UPHRK1+ zu+4WpZn=jy?)Ba&%MPMr&5Ly9%OZtM!%peop~AVlM^%A@^khL%w+2IMv?6)Wy4W99 ze(L8Lbpnf9g$wnOsiMY^MZJT@BJGUnhGkzd zDUN4d?x45OGmg<;m;Jw2Q@O{Z1jg5sr`9ZQ)ZocgVQ>+;_pnrBOOnWx|$;wq+G81ff1O*s^wDb-#>zJLj87&2Hun5}NysD=irc3)JaFlCtCiE8my({^};9lqsd!4`x z;SuewIEm$0UchbjCPqKj*0tGoX7YigQ)i9LB4Tin{DoM!L5liV^G+zp>zImWAdXLZ zi7hF1&PR#g<|g9WSr9@pweAt`S`-XpRpMS|t>h}Z=KdUiUIm_|tka0Ixh2ke8)tnu z5iUzgUvul*=*98&4YCW9XiiDUZyP%r_k#?K_4%B(?Tc{Mc(eH=HQIC>_x)l^hn5)( zN^NZ|P%>^!94Z0X1}r+VAf)8-l#Z`%O-tNo5@EJSr_hprTY&(vqQ*&b=^P_(e?wtNmU`*1voUDo#(*t5mIB&zN zzvKLZ-$Y*fy`DSDM$G6m@s2q>H1WVQgMRECCnMjcSww=R-o1RTffwfQaLt`#zm3K( zBul7?#FV`PlLjH2p#DU1tn&8|(l>-4YA9|zla%VPCDRcWh6zCGHMs!YpgNrrm^%vfJl z1&hHbJujzS7Fgtm_WPQBJHw)ChMQAKjB^1hn4o^LLO|M^VuqPl8ZXtFWt&XHJqc)ss4qibNjnZJA`7tfE(3uI-6 zZQdXr)8^Nc@7iBjoWiZF(HRDAH^s;Mfsl4QG_90?q^EfHY%qK3yf4T?z;B|TW(v9Q z*{e7qgjB$tgR!cj_QnjKYo@_(qYc~q>z5WZ^Q&8Y1mFgN#pm?KSaxx<{){-5L`mJp z`7jM#gtSQ}H4~&|oX}4ge?>f9PF}2y%o7j-RxAb;)VUXL)J? z>2!n&UfBLU3L%4gZhaCYrhkA4?T2JeUdQDrKcDVYhH=S2FU9r0coUm>N-?!ct(w1R zV*JSR=L+LX!R0NxkWzQ=nfca!965lfL&Q`GETx-WF6A+(sA7?3n$f3D&k+&h3z z!u~ZzCm;1Q>tNz;mE640sO)wkx=^Q@rf<3$+k~BMXHJk&E&yBI-JH;C+{U6shk^VQsQs=9ldz>g0RHD01M@mB&)xVbS5%@hHf&UWBz4Yt%UfC z7*iccMEqwpy4WQtQf|^nn;yme^5o0^^EN_spe@tt>Y#A@6;gldR)n?Q-OYg9Dn(5%CZ5FaCa8lMNJxS+t^t zapJ7D7LgXN-*@HU^3+Vq=fAa7gy)zX9#4R=JCxr~7NRSl;DmD6lFch0X4Y~WSA?AJ z@iyBE4!jvNv%BG^T$&b5B#!G5BE;lEO8YGqC{_ZEyc}t#lx8^a0(O$PU$U|`lEzR; zHASbCvFlg(#B}fu7s*0{fusfpwKw>5o%3!nJgR+80+nI5JLjdt>xV$O)CyVE#@}#b zUSMCWCNJZR*55^q&2;N2YI3LX`=zpJQC?E4KAD5-@eg@hL>9|K{O6$#*{oOu&{{R) zeIk)N!%=v$64GOaM4DNQFuyM(FHJ`rR$L(7n`&<-MaOy_EuCsf#r$hjx)S8wkD?2^ z6!rImc^u{P-Hx3a-h$cn7Xpd!xr>(knpm=Nw}z)Y(HUn=Sfn`4Lz#@+2d>)Rzvrv{^!bDmR?rS@P(!tBQ7^X`Uenqf$Wdr68N)l3%R{}DI7pXYhUYx_ zZkKjWvrL?Cn)xy@OjMg?5_@gi8339KaC3o7*wOTL#Z$Lra+j4=2=vQ;TIriSBrC`G zK+bjm{*9c@>ZN=-LLf-7rrDseVkD3kqYOTmBLa9 zU4@LhTIJfJaiyX2^MHVQEOP}6T>XWx{2v@iIfu61{8*Wk;iP*fHI8Z}nM%}iUuNo? zlcrn~?B95?-xt2P^1E4GrfJ@6Fjbe2xtL3)$I2fs_H`zPSfw22+(?s6uf)s#1`g4~ z+1`8E#+`(<|JE5SQcgl<T{uyJ z9z;wO& zFE6vK>$CJ@7)+iiZeH*;aVbrDk7WxF=Szoe#R&^h0;wLAl$T$9TTg4=J=a`x|InR= zy}T$$KZ|aTT7A})P*EZE z(utmb+j(s%w0s&?)i{jle+h9k)F^F(l4$>Jx2Al@EE8}}(W)2MWxgARRK1ClOtm<6 z$%Qd2V-qfuQ=r{D+YieGTDM2T#XxQ6HOf4i{ZwV)e&aR%i8m+pL_F zNIi}_%l(4QY7A3nHzao1UeC$|rMnokLa9IJn%^aUsmDw|;Wp3;*~jIQ<=np$w})&L z1=OeP{d2GT0{LH=>&mlKrI&8V;;UUQ7QDxajf}73ROB44B^i5ye5$o@i+(XGfKl0W zH*=i6nBK+=f(}nsrD}VnGVemZ!GKd&Sw%=5!0!qriP z-TJe^pAdGs6R+kQ`Eq1UhNhl%!a!B>^LW#H=;BLfJ8r$rdCaU`Em@l8(w@+o5$jvs zXiIV9T7*QM_gGdCO_-X8=AH+7s8%w{p5lm?vE}>pPWKU;nYx4+2RI<+6An>=0SmU# zEnV<)hMetkYxgyod7Z=EPNCi8p(ce1u@@-ZYs`7aW-0-Mh#YKx_q{paWLm>67bN6u z)m0+Lf@7Q0Bd(OQU$V^I@l_>8<`W-3{<%C&^c>Lb!d*+)fX_vSq6d}0! zSlhnYG|p|(+9W-m7>~4m>20BETzATCmy(GhTX?YJ zGUCorcN_LGBY4QhO598hqwD~aUss45-#H^HOO>SWhD>nY_N~vuNa$hA_c&9i2f z#|m6A{I(z}y&9N?nNfd3-I2VkMR&SC>GZ(+Fw&aBwG1qpb;H8x^xQp z%|>&QnUB#}*x)uPKzXv`oA7I|<-!Dj~Q0KA!m(G{SA@wNp|GF^Ln z(wC{ap!2Ljw}ZT~gtDb?`KEGK+5PAvsFkL7Ugnj6>7#BJC8D=-+ybocG74CK1%u-f zxAe?Cho83f|PxcwO^vw;gtishrDPUotWN&dMk?z2%L?Gqx99HFcZllULN%HmPNpXOb*eC%sMg z5yQn-Ih6pIQcT;eAhqrHGQ8D{KpOVxdnJyrkqf_rdfTG}CAN@HsHUDx$`27z$)PUw z2queP3D@%K@bK4@pux*w46f4&F1F=q=bP2r$;Gf-&Ql_8>pCJ!8P+)CQ zf*UDlo!lykW{hv%(G-Zu!7~2RW3XZQ3G7mB7hlO~WP2ZZOYMWWHQ4v72&Kw3h6~CEpTF z)inBxv$FbN|AE@Q#qX7jNH*{#A#7j;nyRLpj1heKp{W0qJrM4hLU@qO7f5R;1I3!) z8VuqHP0)6ZGqn^eb4KxAR>LVkcI0F(CJr>)uU8wfaKcEjp?dyXoO*vIvYfM=VOE&T z$1psRO)FUt-TJMJcv`Wn?%`1H%~8*fhCNHsyKyRIX2R?}L`j!YtZW%oEXcD+@X< zo?U^{*R$zHH{psp)`#5`-%SOU{CE7UWQR%0B z(eGuXry5iwOG?!;QhKEnlSh(YyK1v-yn|QCbCt;@naJ|o=Le&+59eda*kX-1qZ641 zgDiu0v>X>J;B)T|MQuAGbQM22g(>PwFF8+bObrMhBmCK1s6e@Z`9T$`K5ri%dpyVZ zCWfiv7mm3%DoZo{`TeTk3i$FRu$uMxgq}O=F8zZ_%Eq^Q$tv>v@8QvS1;k5N28x_6z~MOu5j&?a8vRO zangtZhehS^!dw3BX%O95>#^2Wqn<*q+8%gq9I3Ge7)9XEG43rs|?2 zL&~>9lbWy2wKl<}EI7l<+L#no9wL5DE*G^w8vC&WX&^Q<~ z22erCIT%UW!F3n!$+*@IXg0q!DVv)X}=5Qx^A~2$;trL6nFR1(+x6CCur5+lck53{|Zctam=+heCH10n>)Q5kM|2gIseq)0RH6ULu|d|7J2 zaUfr$qutDmu%is3O56;;zcfxt#rN;J{+Y%r0)@-@uI`?kHt{6iJqPg#DFnp#gIP9c zjm@!Qk^He&+Ki@fI`8*>sQI{3jUw|ywb<9}MHNY_GqxxHjLT!E6Hwtlqm1r05@vsy)2FHb#02cGjWq7#1n}z37@O{XuiaD9EM>;E zfM?y6ajA>Q^av$+tC&&{+i`xkP?YL2P4Io9lG7QXwr_0lsxKN?FGm-#fZ!V$GJ>;A z{R8k%RHAtF#+?zS?C0R7AK^yqo)+;0@~!481g0BZ=esc6=DNs9puqZ~NlSrlgM_k^Pt^PK$Hmn94wxbxKlS zA#UTx6&PMFr&HN!3?sU_QqO_~FftjczH0DK()}q;@C{e4j&~2I?Jye2Uv&*FQGA~?&2*`x)#7$d_o!1 z@ZKQjQ!+`OBFi9@8WhYMN4HAC$YDF%TG5`cgu&%(uu-0nBp+FAW_G9E5KOe`q73m4 zWRKG+uvK5%53tbAb#C9QDJaa5n4EhnzATx;`IMrNawjp%il-Y~sNCUA2BN&V`DuV) z##!bE>`S#W`+V-pxlqCG;X&4V3YS7C^`2lf!Me#hGDr!g&-DB(o1r8QmfUuf z_4lOMmq_$1Y%%XTg}du-fT}kIwoPpO;v6vp+_Njc6j`!)R7)hH#F16yOj=~)ys_>U z_v?bH&YUuA->nN{m)$F-1u{EJek?m>NIfJl3Vi4PHAp(mxfbW6jn-E72-iwlN%Yjp zQ6rzOn@!J+_0YviA&}HU4P<+iVa;G`rVhmO4XDRcdWio^?!b8Fx z-ITy>D?!>i=847-zO_eOR$&-fu8%aYkX>!d+8Lz@LN+-27msw~lk>K?M*VTCf zxr3g{Iu{5Dqs5At=tH)_+P!4m-vpEFzoYzRe1@|HuLSdr@@pnQfetJ_Q?1AKB0EDO zsk^&@L=!?Oyj;qMf3^!igAJd{$0q7Nuf=1zQN^qmr6#m++ua)K&AtKJyrtq^f_RA@ z$oVhg?)a{i+tvvma4K7*re2JHLA_D%U!cJHE&=aaczOC4Qw$YbJmP{eMZI7rlO!AI zQY^xHr#@DML2qn!aUUq?3a&AHbu(lI(LL+9v z9GESdXn41V^<@dfYLqXfS2FO>e5qs*J_ouMGy{uOLRwllAX*{>^46OD#&5dV@~x`m z*nwQl&sCQA>tf1HO8jkM?_Davlk~AI&ATD#hIKpZNNso3cj#van6v| z>&y*@N?h&U-7-}{JIS-84-M^@TO{9zqtJ5sJRs^|{bYe?TgmFkw{;g(U;5ZDih8wq z>gn);GzWXs#K@w7mQeiHfZ_-MZZgk17sXeo9SW4031>*Xvlz^-Up^K#bykv7CHIca2(lq3x)4*(E1)`yk*yiyLV@!fe zETlo=Bg~{aAdvasvrYvIw`|(8NmL}#V0~^X6KCA8S;SqNBs83|t{HU1_ipZ?Xvsdw zY#cmS5Ga#E#y7u>3Puw|O*Z}}M*)LGe(*c*jhZS#ffKz0En$P38BjrML6amZIWz|% z8)P6Djj=f)w|YpCBpTq6(5dSumsbHDke%OG@R>&_MzV#<;HpGUq5=67P1A3iA?Od8 z9&L-P+!VLd(^YIkWa3(>Ch5wl?JB{(%^JFCsMkO&dIPzRNK=uEV|go%hZTSg%kP^~ zd8@>S$WN*S1*f*y;Fzkosz9gbMde-+zQv6KbdSjv^SI{M>wuqCKh!ky+M~=8X#B5@ z;~vkhQw0US_h(SPvUIsh%${XC=N)WRdWRIrSH|Qwe2FnUwgzMlyxFQS78uSEac>X- z?DY73eWm23@AqXliSQ>)1l-Fd!+u;=#D(dE<+)N-^8@s`5B&BFVdoqLtSdU7yZPQ1 z62)n{bx*%|PEU^kmwjtq2m-uAAB6}b$cAgT3QErCzu{US-)!*)n00Z7S>OhYe>UFN z-W=L`#W>+aWT6phzWUC|70*2#!I4_VQQ@gvs@kJb6_8h-xXuFPo>oLO))f(QU%*6e zjNWULi1`yR9uRBjWBr4K_5s7Hr4)xCWQCg@?F;EY3yv}NNa_df(A4t|F$#U`ZICM= z*!HVKu};?bgh&A2m&#idyve6a z?mqx&BJ9^-(h#jV1uFk54YCY`48wjrW@l-8Q+P+*zi5X&=ccWoDpc58a#uTi+8Ad= zDhKVamY->Tx~VYICWO+gLyE9N(u7_&nUr6=RiFSr=Wy!9JQgpHWmIS%Tngc%WKWEO zW4{1R-0|DU@WNPN22+yBF3s#w>N8+2Ha&&SzNKT@U>R)ts2QR$TEXJr@XrcshDc$Q zBH|x6TWb;fAaldH&wAFFe#>I_SiJHyOIs&7g@qU#fNF&v$H`EuLjHN}q-*LYA*8q5 zP@nj`Y)qHMEzQ0|km18x1?eoBa>WmFg~B9rf`r915ZPjc`Cs(pEja0|U}_7D|Gy@3 zRRyV19QFJ-hPgAo89{>AxD1+gfBh4J@>K}+buWhNmt)LQ^%}n~W5W=`e7|1j!l`1` zpx~iB@V~i*HOtgap_hY-7_Zm?NlTcq&J%T%wGRUT2>vU0D`_*$&pH9SAZ(hr6fZ1x z@~2LaDvwCi&GXwfdw33$Ch<7Dfb|pKc8bkHLIr7|uPhHkHjfygdy1i48vaF)%x^J^ zxK_OY=fd4osry;{jyq8=>f&~g;pAtPz)_M~Md&QcBm=b(&7!zN<9*o7PPQPGP@KGs z!=v1*qV(PL`i|hBoz*>?=~qP=#B`KMO~bOv18Ic?rS04@NJ8%L{5BxOa&SJ#_ZXH& zPDw8cYkjHBPFk|O1H#i%?HaE47~pvv(C89Y;}#Gi)n>uZ1o_+=Te~`~1V1<{)w{xK zr+@p*P4^}?@YIszb9*`jc;qHP0E|cTPx3Vx@y5M*jCI<-#Z-I z>+ev>Lyz^(c7P!sZIW=F4i($Or^vHPR_eP2vJ{}bG(Evy;lS_D~vkqHdiTrYiY|uz{i=5@r z^W9Gk@AYT2>^-OAi|y59wCqnM;cHU#;NTv`-h+Lt$ds5c^UHMIeIAAW70SLn6Lg#R9ARjOcL3WEs=;dOjOcn zoaOGQ&Pq}`7|cvkK*%~4?I>$j{BLcV`8H5g*n+|CTy`Obnciv^UEZJ~Is#Mvt&h*1 z-0H*O=MqgzGAkkeNSqUE(+or{pvi0hh#Qjdu1a`j=@s9@`g>%d2_ zCJp}rM~#v(S4CCzWU|itZ4@OlL@TZ84?C0H<`Kq!0^YUX? znxrqU3M9UvVTt)>MiDL(1_x=VO4KTZ>=Hhunns~z$=nhElVlQZvtR(obH3p=VcxAN zI1IkH*g3)lNy^?Fd!iNxj|O6c2O0~dD8Q8_DV!On2MkPgxn)*873}xb%4P+ZXhFKE~D^=8yVwU$&+Yh{Dma z?|~}5FDn@WL^%-iO99^fIl|WK2cqdEgE$BFWu=yB$ry#%JAHo8ts9Se3qKwgh;%2% z>nE2y^+rAoMm-HiKTUSN_WnmYE=#>-Z9f89()IsGHe1sF$^YUudc$(5mCg-|=4P|= zyykkFrKwKK44X%;alb0$m%Tst!2LJ9PG7?jJo$&lW=7oWjOUl)lZ%CwmLWp@*md9uKTXz)O5hR z^ZxwQmc9L>M!kN02vGkF{B{H=xL9y~Ow`kxoxmfhhrF%}aGxd32`pcDD{oZ0>Ul|Q zl&k^|CK*o)ng_=iiOvAtIxj9SgBz#&LF@H&7fFKJIi0fi@3t4d6W1(!o9Vw7#@)Yc zn6Z8c*molB$cLVuw)oiU+%9(PH?HezcXc$sd7lCwx$PkwaSF3uuculiXPhD|H;ddh zJk*|>qNixttxM=?FCzje`C4cHgbYw}b#k{uaeE4PZmYIfJCA~*th$Y96b!Dxm;wPg z^sLGXTJ`tK1WqjUjxNs*-7%{lXz;#0Asd`>DI7)WVL#n?wN=gP1?b-uSPu>TdGMR# z`ZJ1Pv?1N4HQ296n|5#yq~V+4^oVFcL_21P1A2W#!dYsP&DP1FWxSk3Qza&WP_;*+ zUG%{?pcFj&F(62cgdrKzX5%-Bdj@J+m!NRV0{;hj;&`-12?;frBr5}z8|D`g+3aQ= zVAc=({mp9EBgCdGJr+f-dK387Yd{8~IYj+2ik`)E!-zP2J;QB>I15*hpytK^N6jFw z)Jz%l91w89<&T7Y;D>9NiH%Dbu{)dQx7^nPb8~VS4iMC1_rcQs!Y{M`7moBsv*YOZ zANI(nTy2Hfp^lgc`Rlk}wTQ2%bf)mBEZ^L=kVJ9&5J6c-6tSu19VqHl)9|_{*n5$|KF^;A@XU~CBx$t56dvt0}KHs(JzCBlhW8-5KLH{Xt|%BrCM8W z(jQfwO8e&2(=DG{Vv`-$p#82JC-_N)uE*yUzpo8hOo!&f;6^6m3|O2ceg!*FNlzM) zhw*i8Ju!_OnI&&@6z=N@+0CF@pxh`%VR;5S?$NLPEQr!`X{a)#UV~O6!*3Qs!9c#F z(V%?9lR}SHXx~rCvB&51Y0lJq;+))LFO|`WA`2lU_<=hWKKGGo?$ZJ<;*k4nFJafw zvnv=bQA=cTq)f|uMIMVtPHZn=vNl5+@mgWH4XSA*384$4W9EmkLmrwCiZj0&8GHzl z;}GXr9_AYp`f(DRmmr+Fyd*dqF(^q4&_PHA?NLqZ`K|oU1=r z6I=%Eyd-ThFXUvxzhRCN10Q+9{4GSZg+iJ~GWvwYSt{7Nz)33lBx$!IZaA4+G(Rx^ z*&()~C|DwPZW1SFuRZORO)!|zL;Z$pUvP7{o$CjzZF9gY-GDpOEMY)3j zX~(Jm`slnf{>LyKMHM;r`bQ*|3Nrj{UIg!-jx?CU`XB+E#D?O@Z0CfeqxGSiY zthZ6Im2B`*7`F_iQwPt?gGxg=@*8ge86O51j?Bn;t$`S)E}K_n&o~m2$1_34Dois! z-k-QsW&nXYKs;8t{O(!VXMB^5L&kD7#&_Z}CL19bnP$sm{+nF5s1yzYPEA_wEpvc4 z%qN$(XwL=%9Ux{D(K38;A?+;8ht6=T0Okp)CB1Y`JMpt3%`LNjJpg}Jq^4?f#fh;h zK^-_q)dfbZT-h*N1)F#ToGDvrc6?xX8fO-;kef z=cGKNT75hlXT24PsU2-&78kb_oqG#!k`kH{ z9scdZXDa}atZVW_QAp%qTuRkLuD(tz{9~HW58hMl zhu<-2FfHY$*Fc$*k&&Y~E`MzOsZJq0l=5TW45 zNfaF|Dbw$h-UNnS=>LGn`x7&Vj^x9~V|tt{2K6InIM|Xd3>PtEr8A!tgS*m}0iB<8 z`V24Ca)-xpr3J(`I#DQtxBv8`@zTBPAi(-7F2hdrenZvpw6WWN=8$Qz0^JWorzad@ zxznxK$XFkGM-!}T%%TX91d($*Wn9oKRkC;<8+?%>RgCcQFmn_2NL<(S$I8F!zSaKE zPTI=tyaGV5NMc$!htCJ^4L8a)L#@kZ7{2XyWguaM6Qg?@jYUF zC_+{8Oe7)igs}G$!@T*kzr+Z=gkg}<_Pg-s=Xr5<{%yj&fG58A=wFPS;fmCf2nyld zH(8>wP+2a=ZTLGSpGcac_78^F;2UP}Lv}&Jic3}@AWaPqMJo8yikjF*UlPY7qd}7c z7~cq;Hvmmm5%^V+!Ke-&95;kc2;TtNqs9)a0NVJdE2GMs)hvFUJ}Y&6n5NQA;#Qjt z+sTe))9gtQm?rPrt6NB5-Xe!;{zVi59Q}#fwwl1=0C3$o{2g&(Hc2I7y3|pv`I)_! z!58W%I)+EG7-w6n6z>;#@g;OoWa+;k$oyDoj8%g;yL8d6?|7BO{1hUM`21LWs-E;b zEr`ij^eq_*I7)_EtY@02Q4NSz!cM?LBXlKRW`==Dq)YX8LMEE z4>0^i6LT4$ZrDjyOBldFS@tt>43u7)xDzr-;5@zgst%>+ivux}hAxo=p_X*Hh}U;S zODl+z|15wNN2LgQf)gN>^ChMT<94@Jtk_Fa2dGNl(!d_74 z?~(T;nt2=ve3@&Hv|vIbzBdolRK1EuG?h36)uN=D?b=00qY+VGO%5Acb3BwV6mKJuRp8n)wi=T-NMPYisC();(ODRvw3CT+9Ksb#MsiD z)=V|tMZT^L1q7m85G1VMny#vk3#?yQyZG7|>Qi;-3Fy4A+*-T8d)UsL?vf8tuK5s` zcc2{vHym7Rzx9LJTXEKJJcQm-u{bO(fsj;Puyck=yHwQb8iZrPUg-^M){c68(HEfl zv}8>6;&S+Kyt)$Nn{^DIOK@TPi~#J#dlY3mm-hI3(|dcBC@^|eZF<(#62~d?9zyb> zb<<_5ciV9newCQ5H+v2s>S#KCNSQp{kMgDF?7Fu=L$UX1ynOX2BJNN!43E7O?0Q>m z-b{(J_ka64MD+d~*8OpFoAYr4$?1B#5bOrocbB{Kq{rDmtX{6%pKq=;Z-&qmcKx;Q zwx+1G&nt#lyg#(R3jVY5cBucpOSI|t_(Cyvnrde84Rk@I`8?D95O^g)XFSbrtjFHj zo(I(cj5#G+tO~P&oHbgruK0;~yVjojfr$BEeBtk9bLMGQFT5=#uVp0{;Tl4BBrG7@ z&DNadJd1L~^Or^Z8W6%BTkh4+!7zJlDiu;W*Oqg4>iLR^@BZxGzU>*Mo#>1BYOh=R zuB(-$!o0?7eAug~vFQbD@{p$U`3|>LJLflBffV(2sXWKlkxMPfzS*XI*%(M-?}8s* z-UM}}RYTd#+=EPdkR^Y<;yQ)MeoOVjL)ppr8~es!FRr~@jjdolw?xAs;%dy=o6#*i zq{CF#JFRuSb=C%H;>#*W$O^Kk_h8|UrQe_{_H?7S?~3?xv;XT5O82XTEz|0hGn;Np zRv+%|G}i@tEPRtK9FML@*wP^LM3+NB!GP^%sqWc4hpfydQw4eBsDA@}-r}wRF2T9t z-NoUl7H3-jTN*6FF5%d^PNE=`~rY?{NWkLSPDIUn*LX*?~f zo4N1L`Z1P3cZ2n!o6FT^gmDS|@-xqpilM;HNZUklWX_;!)jJnL9$NKvwwAx zb4JC-e+K0ZMeyyo`)&SUZ`0pg;8|YvYuD*1I&vG%9qSJ>rb&bJKYT%^&>67FH8fMD zUt(xxN=ag9=1PTQXckJ1VrU>>r^>35|H=MaWzj&&oU+Vn{wMq2s@$oQ2J%nYX{uJK z?|Z3M$y>L`t_0*qMq}AAa#BWGfu%p@QIHx13d3!-pQ)9raxE?-5LTV5FjQ473?(SZ zwNw_UxLB@rFd$iwIZg>j)mL63$6}}im zCN7eBrqpF11$;Q}GLU$r(zYXUN27a9a*|N-|Izi`QB5^nzez|Sp@%9xAwcNTRGJt< zNFvgUDAH8GfPjFZgC-atASD42P>`;G2#APuBQ`+AP(-AO6b%T7bg|t$&-=Z1efN*M z*8XK?a%SetDZ9*`IWwAaZY$-r_O3=~>vPV{s<-b{9Z3GLeKF@ZBQpNXqYT33aY@+J zU`hF<%#?baj_(1>gyG`iXSD}EY(rn%&&)Q@Qt>)F*Q9;_vrN=ODlt?gAak60y(08l z-=LHrHgTBQuzf6L9`Ag^XIS>$Ua-riOsn?bXXfansY#H!DJk?k)BcdPSN3S6m9N!? ztjMDndE5LL*~?}CCM)vWF!5%+=?nfwl3z$M597`jM*cqCj!s7iS-;t zPK)QLh{8e?2Dy&4HdUh^Eouc!mRI=^^1bpOlN%)1 zMlxFhj%}Rvj>}j2vbKA6QGs^kcv}9sfiN8f{l>AmG4+d^se02obJ^F~Lxe+8D!<;r zz4w-0iX}geE6?vvxlgv2A5Lu6A+P+}m;Xop#_~<2;l2B(B8H2{ywckNa@>($9~7)^Epkj-ah`d_U)bRaLS)YkN<2w zI`Vt-Smp?IZRN{jccHbpiOavtEhqo}V&nwz!G4z8J_;}rAYA5t%HnXf)~j9GKhnwW zwfwaMuUCFQ`Qlxx@iqwJc0A;U_w}FB*W5Y+_rJRAaa>_HyD1`iWV`EHKqD!2dg@-? z=-L)%p?=-J|AzzTU zeNgR)ZuEBbFgrbJ{cy+rP^N#oMvcwGVEnzI2lvy1>c(5Tsyj!P+Am!#f304daNKoL zN|I2bXQwI>VEp5tM$CELiW^_chiPAal6}l;- z>2XWlahs5=OHq##Oj+7O0dv!@;^19V{&%$1^P{|}GyWczg^oW6G*|65ny`Vw74ee=Mt zcW3?2}DthvD|uP0JpZ6I$|>ev9`;W=Y<5{in?#=Z})XDzO{Z z;ge2c^$rJIs4Mu#T8<62C12Af9oEk!|IXd?`F!>VPD5u~Emg;BfVg+s9UO7W^9XnB z`|}q^_b{su-V5~a?REWkPjywQ3$Xay14w!EQh`IkC_+_RsDirt z$Kh4Jr=iIw?+R4tF8+F4t{3`fZNK{KAwbyo2R;3l+85i`tP`82&f^YUPxL@E7!TjW zY(!FZ9~m~(d~1(}jdlWU5+pby)f=4>x+Reb%)UGiy#9qWZC;(I0CS;NIJ*g)ee)Vp9b=6@jS8I7% zGjuj|MK{iY2E$zv&+x!PmL_$1CT=a9=-J5|x}$pF@_^Hb=7D98Yrn}uHWihQ7W>ou z@SgrDcI}k~7FsnX#iN5~o_^sSwiQFwi#`2ZRr$;9XktR)Te}A%j^UEhEu5V6zjc+k zCgpJlp$DCM>318$;x_Rv+@faI-OG6GsFU?0n(C8wl9RfMc*{Uzkw;yVe1D7H4Wlk3 z&>UPJ{4_|^F6Mb8u_9{zlXl$r%AF7TFLsjsC7JP=?cY2eg<#(+DBc3X*) z?5@}I;GaHb%|msX`i=4171h;Ol_hmPzfErn_^1=?uH_u7V{<`1Hnes<(CJSy^^M}F z{H2M6fVl_Nb@7mQnqJ?mPv(Ej0MtAf6ncB%>xQ%x-_lATTq|93~}&r7ZhUKIJe`$#E>Yl(DRi0u1m^{#4eYgpt{`=1j_ z-;{nky!fs0=f1~>OST_={djxC>+-?Nf)+p5?l7ExeZTWH`%m^Ko6Fsoe$73K1I^@@ z{5_?!qO`KcQo6kR{cl~zf5Q=k4u05&Ydy?uKnJW-`&oR)BTj{GyX{F&n8-E$m;fC$X~B$VtZ6f_f7hx zNcfxAKjiWqFMSmoy5N-*vfuIV3)NO17wn4CZ1B1>)>pS}$Fw>0;P+p9Vw2nqZy(3P z79Q!A{Tf~Iz3DO%9R?3k(D-xor?M>c=zN~8ODIWX}M{P&XbjoqJ_S7Y++x#gz63|&4B z`>~gKjB`cv>TF>v^lpgeiT^bhSHe^Rxtz2qvQSNH; zxI&2a_uuj1YW6xoB*eBM3B?XyT-pzATw`fDkPvP}ow!785sk!=pJ#v$KD3eR=~pM2v-EzW)@N6+x% zdwFAouP%MrQmOIceI3V_`Gk&Ks{RrfKj@V4Gl2p z`yEZL7kc-~X;L!JAK!g@AAHgBy*^jZoW}{z^EjDHSAE6^7qleqr~(a|&i=VUDR}Ju zqkEOcSAlrFxa%v?S~F5CDmo10t8|-tqE7#(`mau5EFk)~seBm1_T4X21}&uSQcceD zZ<3qtIbk-L`yBQ#=A@*+opioL-<)`5zW$?13^jGW#M0LmVa3pL9w&KR>mCoN6O&5D zvW_Z=3ddZ=u$Fny#cO^C$p#8auTzfeI6C0MFKYbC;kjrnD{PEN>R9+0Cy`)Bc{l`K zr2x>p7vhItb5whdwdz&Apje3~D-QFNBW%8*Wg6ceMVdqI0bVQ>DM&CZPwY01jE^6? zi7+k5x)XRu-u9*S?YXZwrCz?I>fYV~z9jXl2u<`;y<&1t+qfBr78undo``tKBTT#L z^yQ-Pv#!L?AreJ(0=E&SY`$Nf(nZkn2o}}c>=TeLJq%G2hA7SeEgoO=m8dk~AL<)l z!-z`8PuTrR2#HyVKJ@W(QbMC%;l(FFz9Ra)iZ+(~>y(AC7v@B93&iGZ0$ABBv*RW18) zA^Wk8t$p*EL71KCi2~buyM6}gd=)JI{un*}S)(O|@EMFSSbw-MfdyRD|Kt}gD>4d+ zTB7lNO)?hh;9jo0pq1HIvYy}-#(4+4rTKlho!wsyI%615K2v)bjG2nJg)Aga^Q})WehmqaWAi19P9uDD?WZnX*vO=a-)o&b zxM+c9tsZLocw@%bH0mm0F5hl#ws-USp8>gtr;tj&^9zdK-IVtMIG{!*SRdZlHsnNU z_4MaUy8f(KJpcM4N+Lvaa)>Y@imjxuy^r?O>=0ZwA^D};W&rAyUa6>$6@0k54%GZR=4N9 zcWy)q>_wiRRs>lU2vB0RyX~nwpd!(k41kh$y;^ezf<%jbqFkMtav3ULW~wG)NuV$? zHit7@_4!I&q_Y7$1wSP&zBV&>Uj*Xm8dn_CUY3Y`fn~3r$4U{70wOI-SC%+`B%6V~ zYO2FZ*yyYx5FgkWi91IleL;}2n==FeA9O*2CSfCNHl*~a4>afkp!V=caVNnMRksZX z+KUcC5T=+e4FpOJ(WQZL6C_@c{n?XRfKt9$ZcQn3Qe+NDz@t=1VX9Xgi?vxxG{Jfa zri_|Zg}K#P1RwN}0n|Xn`Bk#0vmi~bkRb5vG3a{(;+GafR6}Opf%#hrDeV*d_D&Dp zf7J*o_22XU75#;Vqb-32d+QBKtmH6flvZAwlRjF*TsqZouLFzo3N7jQdyctn^g(!RL~K2o?}f^1o; zK>PVD#iYyyTpGJ{BzXY3nb!9Dq;Epo^Fy2Rk(~(A6^xRgEF^e<>d?LoK8SWBQ;wHW z!~qGVZniVx_pp`(z!vqID~lJ14=N}PFmaNQXg-3TCptN@0e7=2YY7>%16Bt6KKzX6 zozB0~@<6`1xT^H``&SyN!Iw-(8^i;o$`ci4&)i<>>>M#+|D7X0l1`DV17 zjxHdsQGoTQ=^vchKG|)SYA;I0LoI7L49)h2_g{1YslO%37}@W>hU3W%_Q4@kR8I$u z5#D%V1=Oe+20S5Y{A_Ol)abL!g*nv@LwOY|(5*Ny#DdGrz;7%m8@;n8S)>zv(upX1 zB^+f0QF#W^FU#J%NgLCW*nEO;pi^w=636J_Pm#xsQ&03ugn>E6VhETsMy!&ef}{E2 z2)#ZEcgA>1$X^8`M>4d388$&*JAQoCo1>39_99~pYH$YC>r;Gn9P~v1i1%3Vix}`J z4wwKc$ygdRiRrLy$Za<_j`?>X_M)k-OQ4z&h*OO~pEKfnldGeYefGAM~a^QeQ zDE+eH>_@75HK+ypVcL?dn3Q7b+lt_T8|PW)oq^|QSyy1rUaG){dubizNi7%!kpP#= z9~}={XByci@!DxZ$tim-_>{4Yqk;gINPYG(4PAMNj;>6?pKwO#J2P}6 z$s%bY?vxK|cc0aS$ay(}F3 z=6%ad?3d55Lz8jDS4v!#->oEc+}w-h&vYG(1GfTLtDxOaf}jjnb}ZO%C`DJ<&kyi` zaN>&sCWUZg0yVh?2jWwf`^3frAMVNTTa0|7%pyWi*o!z)7W55zl<$%0sgg7HP`#l^ zIFkqytANR9!epjv5M)2xxIc}PVRQ^{?4|AebQVeSBT1HewMQig3(~ztD;=B&;7F{a z9A@MM&b^6V@0UrS@L=&+3f02SVqdD!1dqlF{J=0O=yvLetw>E_^rM$9Bp%Cns40dm z<2#e4_W8mgixMmWY>N3MAVtj*U8R3Y36c>96_+X&Frtp!C_ik#j3b3^vL`vr#R1fC zacY2`h@FkMg95;)2QJWO)NS z!zC1HFR$i1$qzX(0yKKrn$V4yi?b54`*h}Y6QBv@S$uw~JX6s#JWVsu-XxT=xO?Z+ zsY~gmKyp#51@74v5<4LHeH+`O(F}o_L>SWzEo*@k`24b^*jflr_3^iEJ2wX1Ha0C zwjv>AoBQ8OX4&B^!If}7QZ~veUS4K=u9tpa)9OWS#=g4-e$M^$qZ%l+D#5~Q|0}T) z=0{3JS((YpeE0;FjvyI$QjXVC#Ie0;$Gf|iF9|0`)KHWD>~+?IwndjHrTBux#_NtO zsZY~SJd{0I9#|l1+1Mnkwp1KT;N=*f7^a<{$~So~nE4za)R4Q7lXMWO%6I4<-#oYy zlrnCv29D&tp>Juhn2rTz&_@)Bl!TU~cr8W7M$xLAl+pTY#2?XEN@V&}rGX5|TDSou~GD~rM zH&5~JlWjx0BPNx*H_=P<*O#G^7^6#Blj^B;2cGXPcDsr*Dq+3BAvKKk?sP$;H*KHD1dX7&m9h`a}Agqlc=t7l$-h5 zTM@QS;ULz$~JLjk{Fjpev2#L-hi-~@M(WqG+%ewr|qR(4ZR^v^v%&HJpaL` z?Y$q!K}gMM%l4tcsF*d@e}M5m?aqP#EQ~wg=3!A*K(y~_Gd(UWA_|3h`#KdMuOk99 z_Nb?zaD=2%hqy>g*1c4~WR?VI7AW;E!mc_&=^ZEj1&g{XO5ypAoYdY;jofs6yX~mp zAU`NU#;d~|AC$D-OQ!r6^7mlC@Cbo_(93fGiMaE}3R6EN{Hf(sIR6T~2^m|6h%IEm z6Cxfyp$$l5i7Bnc$WWy=*knoEk>nKFFEj0_qKvPKSWJC9bZ2Kwq)*pTRe*iRzCH&E zH2EO`iujJhcqj1#+p3ho^GIokmna8yyhaMrfR&!`*;O=_bkr4lgiC5*ImbcNvW0KH9Ra+A~HWV#);he#U`=Iu?-B z`~@8N7B;?R%cw6F9Y#m+IsyrmS-_y1;>QB9+Eu-aJ(N!RL8|yjiP%VqeQ;Ipa4^tx zVIRXKi{BVUmY^xg%x*DxoRY4+18dxcHBr?_N->I8X>qPpl@X>|5yH+GsWwVe?}4@X z`dFeOwuq0C6*UCe%y$e#{ykc7G}^Dj42d75?K{cLmqdrrp<%ofu7XeVzPZ)=o4*w? zsm>0)L=Aq#U0BE)C=J;4d)tMHnr;dzxkCnnjj?3E(sZwnX=eoYvc zu1eHXC5@@!G8AID>!m1rF^=9x+3-)J1l9=Lk^;HCmb|3Z+-&o`XpC&C_&N) zca-Mwn{CR?cJ91JIPjcJ$-mc23*5Nv%*TfSd z4=8^-dXqhILw|ZC->N+`Im`_DD76$Rd?RV5rB~hT6dHwYL~W`UCuNClQYS6F8*j1* zLGCFdx*VtW0{A<1)TxUygOLX1T^NxeI}R!t9Ct<+>+o8GlYv3gKA?Yw$c$fj)qCj_ zetW{8N$WaOMkF><7uzssJ)dX-DT4c!rkoqLO}P!?=(j@;6yVJ)M1EV1I_3d_J%5Q9fe$< z^L=&Di*-Guof7|jIC=8S4PDljp%>-rxpqq8XEO5VYkpIto3^MG|4<=+4J5;Zu$6(PTiNMOjy(iF`pe;>&V_m00hR) zYu*r?kd4W7iyT|Uwd0N~MQkygBaRk;6pNDh1`}tml$IiGgnzxtA$W@B5E5Rfktrv{ z_%Ts5k9F2P43H0CjO?^$SNDnT2zRn1xav{h*%HXf3xGZG_DJ&fKV}!|3QM;1bXLL( zvGo(RAd7uG?6P~X#PwEYl7(Y^#q}p&Sdg-(maZKjQ8C1}f=pWJusF>0FjINm8K2Gu zZLbpknvlIqZf~V>1-C`vni}`17GEhvVYbtLA4dHVmC=8E?wNw}*8^iFW}p#0;OS}R z)?q8&txiQFGq62TOYuY1gO+0@R_CD6DL2$mb}onjY1#)!`CjjCA=7R>qfYUG_u*SS zJim+|@CWpg-5ESM{&6cdpUoNS^%#G*{lZiQ+}0p}14hfd7k${$`*RKESZ8^D47b^U zEJv$bb!+`A55HM)!1`vEJV+}qO{-!R)YIFTNnPUI5_v%zh{wF7ACs>w`VQ#cdb;;Q zvDJh?(m{->h{TtKsq3*^CyZrc>8chdNi;%vPO{lr-Q<3-CMkO+O0+{H%4HC2XI6sHF>0=Ks&8zN*2yIo<1Zm*N$6#hL z@@P)kfQN2r4n)iuvUC{|c(bBQ7qSAd*_*$VHG$}wkQK1BB9}}8^~;#B3B?obO>Os@ zmSviMkDm(!nL)Rn9J|HO?Yb#GSw>;W>QJ(gXtQ-`u2rewh>;18pf*O@r0q5y$n8=D z65^Xo%1VX6i9=b!#v26+v;HLtvlI2D0-(faV$s7bzmZ(^&jT(-v>VbozIuHYjFBHR zhgdMygku~`I&NAnNti1C3KMNm82M{2oTW+PS^MT&f&<3WP>QqLPk3JQ8(Y#OO0(u{ zmrlD2Db~#P<@5nN%=nFwEXd5}lhf~)DPL|pIJJ^@hefxgJHEUMH4_$|()9I1sF6mA zikM=i{w+B5M%kh|%FEPhy%{mpj2Vuls&PO^X_H7y}HGg;dVIax`2x8EQ&qn%K66;U}4qIbYnXWj(9C<#;A%S07xjmf}3$X zgExPA5$ySh%cgotA;ScsbUMqrN+vc8MVL|dPnn)@Wb@A4dPF?5MU)iL#kjF#YR_1f zW*0$}XHa)2@DzDZ%W?`lEiCN(`4sQZy}hsG`HeBv@JsS-+PE29aLTRk+zOB?mUCK` zd9R5MZ|Kbf#8*YTCiWchho<$X3huBNr2Wth{vPfJ;&^Swj23;S!fwjN_bPyoF6^sj zY+_W53L|*{Q3_l02d4xNZ!=M|(m9N$iTv#dwp5SZYVK!IQ%tKNXa&)pJ?SIX{QU;P zVSwCmWruM^IOx~~t_Q~Hdg%LkrJNOHR6Ko3@yrghBdEQmG?fi3SHWBZ({oUSL2#Re zs^6R;GXI?hhfc1AW+wXqn#7%7f+JT2`)V>irSRIPv}<)i!^RFmmYgBw9k|kPeuMtq zOQ$YELlBd~NqE^WuOkmmd7cwFA1Dvb6zn&A-%Shtq&lzJR0Mz9-6_l1K(6&2Cv>*~ z6=xOAvhT1mk*oX0c?6MNs}hk|<1_kM5|rR*B-e%8LX^A-TyH&{^835QzMz8Kkm&?N zjAFUPxCB1*NN?{7pUFqpS1z?E)_IZ0uUGD_t;Y#H4HtpYwFMY4{GvaJN*2lX00O9| zTO7^m9Jdn*RO?vOFfzCx|H01i%%L~*S2HU=o?DeWc=DD_=u2?95Ux=OAH2mhIfQD` zu+q6S-^RGW`@yA&Ip|iJR*E=WiQq}`ly)dX21wICKyJWZyx7tBupqz7QMu$@uM_^V zT7k8kYxU>Hb|XjQGu@YWews<}!wZhc=sSMdYWnOl!yUe=Oo9MfSl6Beth;cooGkV1 z9lwjo7gOiZFiO><3m{!zUFk5-+laSyc><1guaZfR#Z56n;(C)1szrFID;wy06zide z)X6P%Vju%bNXP}y0PdQAqgFpeoqquvu#seb+fCQcV867%!gYZHX~{60<4u926wN>e zJSxJx`-HEE4UhmZ=DP8L6!9bzV1dIxyshs=3~xkPG_{_it7vk>ld&QC9Q88wDnS@5 z&B5WQtNi;F!+5k6zb|VkhCS9|FMNE?^TqxuVfBwTn@I~kE ztFz&$v+$kTS*C#LRX$ygHrwkHq)n?cW~TqmEYm6)Vv^>_xcXdx{4?4z^sg?^;}w{s zBMxv_h9xvzgY`PAA#Q^C$FXchqzbZ{C&|>enky@tufyonSS-3aL~P_B;Z-3(=Nu?Z z))q*BM)EpJ`_)O)I3Tze<4<%;5v(^t4fCHIzT?iU-hE~sZ!p<<*M6QZPxxmvqPs=k z!T0AwWb3nu-$%GA<}_Uh`VKaen!M{ITJE4&#pTl^ylKfrjKa@2HF>MlhMfw@%|2rG z*ZaLzBj^`zp&EklHtlNdJEa3AL+?+&oZKe9wJQA#FoewO=@gM)amvHI~urJ`5iPiIeI)4 z-Dj_FhS^l`GVolzGh!c3fF4r*IdI(w-nQC`n{Pi0SwV7r?da<35bEk^i_1w9d7-TM zcYWPB>}udGHecv6#MJh7sW@l_*^~(C6&6MExtmIHf`@4qZEgewbJHuv@F1yHL+@7r{1OsJoq6Ocqg$^84o(}DJ=MIFIOfd52aN<(Z~HWm4;VeO z5Mln_ViJXln7}y!iYY=Fi8zbE(cUAGWXvxpgqqb0__@cZ;B6uDrO|f}$1Gv22$kt{ z^3u|`aFL@@T)(n`ij~zNl#4AsAoEIxr4bpMV(T)V9qT1OWMCI~gfC@j%=OoXrW7S; zbj_hm0jz+qp}?cgtR83cG909wc7+Fq1ARr{3Zf%0An&u`Csb3RV8)-*z=ghBCmu|` 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%0A}m#BC$*!P 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

2VZSP}KItK@?5y|8|LhfHIf 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

$ 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 x`NPMb-+jFN^26gF|LMc;zrXwN{ih%Q`2F1=2 for g in groups) +EXTRA=[] +for g in groups: + for side in ('high','low'): + for v in g[side][1:]:EXTRA.extend([(g[side][0],v),(v,g[side][0])]) +centeredges=[(g['low'][0],g['high'][-1],8) for g in groups] diff --git a/research/hyperplane-retiming/search/graph.py b/research/hyperplane-retiming/search/graph.py new file mode 100644 index 0000000000..764342e711 --- /dev/null +++ b/research/hyperplane-retiming/search/graph.py @@ -0,0 +1,63 @@ +"""Exploratory exact-graph phase-flow discovery. No admission claimed.""" +import gzip,json,math,time,sys +from collections import Counter,defaultdict +from pathlib import Path +D=Path(__file__).resolve().parent.parent +w=json.loads(gzip.decompress((D/'inputs/pr4610-round3-word.json.gz').read_bytes())); c=w['canonical'];p=w['programs']['forward'];n=c['h'];frames=c['frames'] +def span(B): + s={0} + for b in B:s|={x^b for x in tuple(s)} + return s +spaces=list(map(span,frames));basis_cache={} +def basis(S): + key=frozenset(S) + if key not in basis_cache: + B=[];s={0} + for x in sorted(S): + if x not in s:B.append(x);s|={y^x for y in tuple(s)} + basis_cache[key]=tuple(B) + return basis_cache[key] +def image(G,x): + out=0 + for i,g in enumerate(G): + if x>>i&1:out^=g + return out +def inverse(G): + im={image(G,x):x for x in range(1<0 else (v,u) + key=(frozenset(S.spaces[Q.NF[a]]),frozenset(S.spaces[Q.NF[b]])) + contracts[abs(op)].setdefault(key,[]).append((a,b)) +assert set(contracts)==set(range(1,73)) +for op,ps in contracts.items(): + assert len(ps)<=2,(op,len(ps)) + if len(ps)==2:assert min(len(A) for A,B in ps)==2 + +def native_constraints(l,active,pins,imp): + for u,v,op,B in Q.warps: + if active[u] and active[v]:imp.extend([(u,v),(v,u)]) + elif active[u]:pins.add(u) + elif active[v]:pins.add(v) + for op,ps in contracts.items(): + if len(ps)<2:continue + pairs=sorted(ps,key=lambda ab:len(ab[0]));(A,B),(U,V)=pairs + a=next(iter(A-{0}));b=next(iter(B-{0}));inside=a in U;assert inside==(b in V) + if inside and bool((a&l).bit_count()%2)!=bool((b&l).bit_count()%2): + for u,v in ps[(U,V)]: + if active[u]:pins.add(u) + if active[v]:pins.add(v) + +def engine(): + ns=Q.__dict__.copy();ns.update(fixed=(Q.fixed-C.owned)|fullpins,paid=[*Q.paid,*C.centeredges],EXTRA=C.EXTRA,native_constraints=native_constraints) + src=inspect.getsource(Q.solve).replace('imp=[];unary=','imp=list(EXTRA);unary=').replace('P=Counter({8:8});H=Counter()','P=Counter();H=Counter()') + a=src.index(' for u,v,g,B in warps:');b=src.index(' for r,u,v,g in helpers:',a);src=src[:a]+' native_constraints(l,active,pins,imp)\n'+src[b:] + exec(src,ns);return ns['solve'] +if __name__=='__main__': + f=engine();best=0;start=time.monotonic();records=[] + for l in range(1,512): + r=f(l,.9969782);chosen=set(r['chosen']);r['centers']=[8-int(g['high'][-1] in chosen) for g in C.groups];records.append({k:v for k,v in r.items() if k not in ('chosen','original_nodes')}) + if r['energy']>p&1:x^=y + if x: + p=x.bit_length()-1 + for k,y in list(b.items()): + if y>>p&1:b[k]=y^x + b[p]=x + return tuple(b[k] for k in sorted(b,reverse=True)) +def solve(W,t=.996): + rs={f:rb(restrict[l,f] for l in W) for f in FIDS};a=[len(rs[f]) for f in Q.NF];pins=set(Q.fixed);imp=[];unary=[0.]*(len(a));power=[0.]+[i**t for i in range(1,14)] + for u,v,r in Q.paid: + x,y=a[u],a[v];assert x<=y + if x: + imp.append((v,u));d=power[r+x]-power[r];unary[u]+=d;unary[v]+=power[r+x-y]-power[r+x] + elif y:unary[v]+=power[r-y]-power[r] + for j,(u,v,g,B) in enumerate(Q.warps): + if a[u] and a[v]: + if rs[Q.NF[u]]==rb(wr[l,j] for l in W):imp.extend([(u,v),(v,u)]) + else:pins.update((u,v)) + elif a[u]:pins.add(u) + elif a[v]:pins.add(v) + for r,u,v,g in Q.helpers: + x,y=a[u],a[v];assert x<=y + if x: + imp.append((v,u));d=power[g+x]-power[g];unary[u]-=d;unary[v]-=power[g+x-y]-power[g+x] + elif y: + if g==y:pins.add(v) + else:unary[v]+=power[g]-power[g-y] + ren={i:j+2 for j,i in enumerate(i for i,x in enumerate(a) if x and i not in pins)};n=len(ren)+2;rows=[];cols=[];caps=[] + def arc(u,v,c): + if c:rows.append(u);cols.append(v);caps.append(c) + for u,v in imp: + u=ren.get(u,0);v=ren.get(v,0) + if u and v:arc(v,u,Q.INF) + elif u:arc(0,u,Q.INF) + for i,j in ren.items(): + c=round(unary[i]*Q.SCALE) + if c>=0:arc(0,j,c) + else:arc(j,1,-c) + graph=coo_matrix((np.array(caps,dtype=np.int64),(rows,cols)),shape=(n,n)).tocsr();flow=maximum_flow(graph,0,1);residual=graph-flow.flow;residual.data=(residual.data>0).astype(np.int8);residual.eliminate_zeros();reach=set(breadth_first_order(residual,0,directed=True,return_predecessors=False));chosen={i for i,j in ren.items() if j not in reach} + assert not(chosen & pins);assert all(u not in chosen or v in chosen for u,v in imp) + P=Counter({8:8});H=Counter() + for u,v,r in Q.paid: + rank=r+a[u]*int(u in chosen)-a[v]*int(v in chosen);assert rank>=0 + if rank:P[rank]+=1 + for r,u,v,g in Q.helpers: + rank=g+a[u]*int(u in chosen)-a[v]*int(v in chosen);assert rank>0;H[rank]+=1 + energy=sum((P[r]-Q.P0[r])*power[r] for r in set(P)|set(Q.P0))-sum((H[g]-Q.H0[g])*power[g] for g in set(H)|set(Q.H0)) + return {'W':W,'energy':energy,'paid':dict(sorted(P.items())),'helpers':dict(sorted(H.items())),'chosen':sorted(chosen),'original_nodes':sorted(i for i in range(Q.N) if Q.ids[i] in chosen)} diff --git a/research/hyperplane-retiming/search/multi_joint.py b/research/hyperplane-retiming/search/multi_joint.py new file mode 100644 index 0000000000..0ee0bb4e69 --- /dev/null +++ b/research/hyperplane-retiming/search/multi_joint.py @@ -0,0 +1,44 @@ +"""Two/three-dimensional coordinated deletions with shared-map reconstruction constraints.""" +import multi_cut as M +import joint_cut as J +import quotient_cut as Q +import center_model as C +import graph as S +from pathlib import Path +from types import SimpleNamespace +import inspect,json,time,random + +def constraints(W,a,pins,imp): + for u,v,op,B in Q.warps: + x,y=a[u],a[v] + if x and y and x==y:imp.extend([(u,v),(v,u)]) + else: + if x:pins.add(u) + if y:pins.add(v) + for op,ps in J.contracts.items(): + if len(ps)<2:continue + (A,B),(U,V)=sorted(ps,key=lambda ab:len(ab[0]));x=next(iter(A-{0}));y=next(iter(B-{0}));inside=x in U;assert inside==(y in V) + ax=any((x&l).bit_count()%2 for l in W);ay=any((y&l).bit_count()%2 for l in W) + if inside and ax!=ay: + for u,v in ps[U,V]: + if a[u]:pins.add(u) + if a[v]:pins.add(v) + +def engine(): + ns=M.__dict__.copy();ns['Q']=SimpleNamespace(**dict(Q.__dict__,fixed=(Q.fixed-C.owned)|J.fullpins,paid=[*Q.paid,*C.centeredges]));ns['EXTRA']=C.EXTRA;ns['native_constraints']=constraints + src=inspect.getsource(M.solve).replace('imp=[];unary=','imp=list(EXTRA);unary=').replace('P=Counter({8:8});H=Counter()','P=Counter();H=Counter()') + a=src.index(' for j,(u,v,g,B) in enumerate(Q.warps):');b=src.index(' for r,u,v,g in Q.helpers:',a);src=src[:a]+' native_constraints(W,a,pins,imp)\n'+src[b:];exec(src,ns);return ns['solve'] +if __name__=='__main__': + rng=random.Random(20261023);cases={M.rb(B) for B in S.frames if len(B)==2} + planes=[(a,b) for a in range(1,512) for b in range(a+1,512) if b<(a^b)];rng.shuffle(planes);cases.update(M.rb(W) for W in planes[:2048]);cases=list(sorted(cases)) + extra=set() + while len(extra)<512: + W=M.rb(rng.sample(range(1,512),3)) + if len(W)==3:extra.add(W) + cases+=sorted(extra);f=engine();best=0;start=time.monotonic();records=[] + for i,W in enumerate(cases): + r=f(W,.9969782);chosen=set(r['chosen']);r['centers']=[8-len(M.rb(S.restrict(l,S.frames[Q.NF[g['high'][-1]]]) for l in W))*int(g['high'][-1] in chosen) for g in C.groups];records.append({k:v for k,v in r.items() if k not in ('chosen','original_nodes')}) + if r['energy']=0:arc(0,j,c) + else:arc(j,1,-c) + graph=coo_matrix((np.array(caps,dtype=np.int64),(rows,cols)),shape=(n,n)).tocsr();assert not len(graph.data) or max(graph.data)<2**31;flow=maximum_flow(graph,0,1) + residual=graph-flow.flow;residual.data=(residual.data>0).astype(np.int8);residual.eliminate_zeros() + reachable=set(breadth_first_order(residual,0,directed=True,return_predecessors=False));chosen={i for i,j in ren.items() if j not in reachable} + assert not(chosen & pins) + assert all(u not in chosen or v in chosen for u,v in imp) + P=Counter({8:8});H=Counter() + for u,v,r in paid: + rank=r+int(u in chosen)-int(v in chosen) + assert rank>=0 + if rank:P[rank]+=1 + for r,u,v,g in helpers: + rank=g+int(u in chosen)-int(v in chosen) + assert rank>0 + H[rank]+=1 + energy=sum((P[r]-P0[r])*power[r] for r in set(P)|set(P0))-sum((H[g]-H0[g])*power[g] for g in set(H)|set(H0)) + return {'l':l,'t':t,'energy':energy,'paid':dict(sorted(P.items())),'helpers':dict(sorted(H.items())),'chosen':sorted(chosen),'original_nodes':sorted(i for i in range(N) if ids[i] in chosen)} +if __name__=='__main__': + t=float(sys.argv[1]) if len(sys.argv)>1 else .996;best=0;start=time.monotonic();allr=[] + print('compressed_nodes',len(NF),'paid',len(paid),flush=True) + for l in range(1,1< Date: Thu, 22 Oct 2026 10:39:52 -0500 Subject: [PATCH 6/6] Pin the stronger round-three input independently of the admitted older construction --- research/hyperplane-retiming/SOURCES.json | 14 ++++++++++++++ research/hyperplane-retiming/VERIFY.json | 4 +++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/research/hyperplane-retiming/SOURCES.json b/research/hyperplane-retiming/SOURCES.json index e9b9d44add..d61cd2152b 100644 --- a/research/hyperplane-retiming/SOURCES.json +++ b/research/hyperplane-retiming/SOURCES.json @@ -167,6 +167,20 @@ "pin": "head:f26c1166e12dd45dff2cfed9b00eec1e42507389:research/hyperplane-retiming/ARITHMETIC-ORIGINS.json", "git_blob": "d426d4cc662e72fe6b5aacf4700fb8a1953ebe18", "sha256": "25e26669a25161c749aaf62525b5c96bf0aa3b82bd58f31ef44cec4618b6e901" + }, + { + "path": "research/hyperplane-retiming/inputs/pr4610-round3-word.json.gz", + "usage": "input", + "pin": "head:1cff01f5b7673c537afa55733729377f8afeb427:research/hyperplane-retiming/inputs/pr4610-round3-word.json.gz", + "git_blob": "46d929df83817b85a5387bcdb9745e0627d6366e", + "sha256": "7679daa4ec6a40f56fc7f0202379a6f454310e94945aba4f48beaaaafb838d05" + }, + { + "path": "research/hyperplane-retiming/SEARCH-ORIGINS.json", + "usage": "input", + "pin": "head:1cff01f5b7673c537afa55733729377f8afeb427:research/hyperplane-retiming/SEARCH-ORIGINS.json", + "git_blob": "5f4ab6a16d9593cb77da9e583f843572fa75ae2c", + "sha256": "5e71dba985a2d15145c7219b8863ce226267c4f2e52627b9721dc34f7aa0275a" } ] } diff --git a/research/hyperplane-retiming/VERIFY.json b/research/hyperplane-retiming/VERIFY.json index a2d538cd79..0a331429b1 100644 --- a/research/hyperplane-retiming/VERIFY.json +++ b/research/hyperplane-retiming/VERIFY.json @@ -25,7 +25,9 @@ "research/hyperplane-retiming/inputs/p16-controller.json", "research/hyperplane-retiming/second_intervals.py", "research/hyperplane-retiming/outer_ledger.py", - "research/hyperplane-retiming/ARITHMETIC-ORIGINS.json" + "research/hyperplane-retiming/ARITHMETIC-ORIGINS.json", + "research/hyperplane-retiming/inputs/pr4610-round3-word.json.gz", + "research/hyperplane-retiming/SEARCH-ORIGINS.json" ], "commands": [ {